Register(signup), login ,logout Django
Register function quick view from views.py
from django.shortcuts import render, redirect
from django.contrib import messages
from django.contrib.auth.models import User, auth
from django.http import HttpResponse
# Create your views here.
# redirect me views wale function ka name dete hai
def Index(request):
return render(request, 'accounts/index.html')
def register(request):
if request.method == 'POST':
first_name = request.POST['first_name']
last_name = request.POST['last_name']
user_name = request.POST['user_name']
pass_word1 = request.POST.get('pass_word1')
pass_word2 = request.POST.get('pass_word2')
email_id = request.POST['email_id']
if pass_word1 == pass_word2:
if User.objects.filter(username=user_name).exists():
messages.info(request, 'Username Taken')
return HttpResponse("username already taken , try again")
# return redirect('/')
elif User.objects.filter(email=email_id).exists():
messages.info(request, 'Email Taken')
return HttpResponse('Email already taken, try again')
# return redirect('/')
else:
user = User.objects.create_user(
username=user_name, password=pass_word1, email=email_id, first_name=first_name, last_name=last_name)
user.save()
print('user created')
return HttpResponse('registration success')
# return redirect('login')
else:
messages.info(request, 'password not matching..')
# return redirect('account_index')
return HttpResponse("password not matched, try again")
else:
return render(request, 'accounts/register.html')
Login function quick view from views.py
def Login(request):
if request.method == 'POST':
user_name = request.POST.get('user_name')
pass_word = request.POST.get('pass_word')
user = auth.authenticate(username=user_name, password=pass_word)
if user is not None:
auth.login(request, user)
return HttpResponse('login success')
# return redirect("/")
else:
messages.info(request, 'invalid credentials')
return HttpResponse("invalid credentials, try again")
# return redirect('login')
else:
return render(request, 'accounts/login.html')
Logout function quick view from views.py
def Logout(request):
auth.logout(request)
return HttpResponse('logout success')
# return redirect('/')
Login,Logout show condition in html
{% if user.is_authenticated %}
<li class="nav-item">
<a class="nav-link" href="{% url 'name_logout' %}">logout</a>
</li>
{% else %}
<li class="nav-item">
<a class="nav-link" href="{% url 'name_login' %}">login</a>
</li>
{% endif %}
Welcome user
{% if user.is_authenticated %}
<div>
<h4>Welcome {{user.first_name}}</h4>
</div>
{% endif %}
Comments
Post a Comment