Django学习——状态保持之cookie及升级版的session;登录注册小案例实现(使用Django中的form表单来进行用户输入数据的校验;学习form表单的使用;附带源码!
from django.shortcuts import render, redirect
from django.contrib import auth
from django.contrib.auth.models import User
from django.contrib.auth.decorators import login_required
from django.http import HttpResponse
# 登录视图
def user_login(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = auth.authenticate(request, username=username, password=password)
if user is not None:
auth.login(request, user)
return redirect('home')
else:
return HttpResponse('登录失败!')
return render(request, 'login.html')
# 注册视图
def register(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = User.objects.create_user(username=username, password=password)
return redirect('login')
return render(request, 'register.html')
# 登出视图
@login_required
def user_logout(request):
auth.logout(request)
return redirect('login')
# 首页视图,登录后才能访问
@login_required
def home(request):
return HttpResponse('欢迎来到首页!')
在这个代码实例中,我们使用了Django内置的用户认证系统来处理登录和注册功能。通过auth
模块的authenticate
和login
函数来处理登录,使用User
模型来创建新用户。同时,我们使用了装饰器login_required
来保护需要登录才能访问的视图。这个例子展示了如何使用Django的用户认证系统来增强你的网站的安全性。
评论已关闭