Assuming you are created models & Login , Register html Template
Go to URLS.PY
path('login/', views.login, name='login'),
path('register/', views.register, name='register'),
path('index/', views.index, name='index'),
path('logout/', views.logout, name='logout'),
Go to VIEWS.PY
def register(request):
if request.method=='POST':
username=request.POST.get('username')
email = request.POST.get('email')
password = request.POST.get('password')
user_list= models.administrator.objects.filter(username= username)
error_name=[]
if user_list:
error_name='The user name already exists'
return render (request, 'register.html',{'error_name': error_name})
else:
username=models.administrator.objects.create(username=username, password=password,email=email)
username.save()
return redirect('/login')
return render(request, 'register.html')
def login(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
obj_user = models.administrator.objects.filter(username=username, password=password)
if obj_user:
request.session["uid"]=request.POST.get('username')
messages.success(request, "Login Successfully.")
return redirect('/index')
error = 'Wrong username and password'
return render(request, "login.html", locals()) #--locals() passed to render() is to send all local variables of the view
def index(request):
if request.session.has_key('uid'):
return render(request, "index.html")
else:
return redirect('/login')
def logout(request):
try:
del request.session["uid"]
except KeyError:
pass
return redirect("/login")