Django的auth模块提供了用户身份验证和授权的功能。下面是使用Django的auth模块的一些常见操作:
创建用户:
from django.contrib.auth.models import User
user = User.objects.create_user(username='john', password='password123')
用户登录:
from django.contrib.auth import authenticate, login
user = authenticate(username='john', password='password123')
if user is not None:
login(request, user)
这里的request
是视图函数中的request对象。
用户登出:
from django.contrib.auth import logout
logout(request)
检查用户是否已登录:
if request.user.is_authenticated:
# 用户已登录
else:
# 用户未登录
用户授权:
from django.contrib.auth.decorators import login_required
@login_required
def my_view(request):
# 用户已登录,进行后续操作
使用@login_required
装饰器可以限制只有登录用户才能访问该视图函数。
检查用户权限:
if user.has_perm('myapp.can_edit'):
# 用户具有编辑权限
else:
# 用户没有编辑权限
这里的myapp.can_edit
是一个权限标识符,可以在Django的权限管理中定义。
这只是Django的auth模块的一些常见用法,更多详细的使用方法可以查阅Django官方文档。