标题:Python与Django实践:构建用户认证系统
from django.contrib.auth.models import User
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login
def login_view(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect('home')
else:
return render(request, 'login.html', {'error': 'Invalid credentials.'})
return render(request, 'login.html')
def logout_view(request):
if request.method == 'POST':
# 注销用户
logout(request)
# 重定向到登录页面
return redirect('login')
这段代码实现了用户登录功能,首先检查请求是否是POST方法,如果是则尝试通过用户名和密码认证用户,认证成功后用户会被登录,然后重定向到主页。如果认证失败,则向登录页面返回一个错误信息。注销功能也被实现,通过POST请求处理注销逻辑。
评论已关闭