Django的auth模塊提供了用戶(hù)身份驗(yàn)證和授權(quán)的功能。下面是使用Django的auth模塊的一些常見(jiàn)操作:
創(chuàng)建用戶(hù):
from django.contrib.auth.models import User
user = User.objects.create_user(username='john', password='password123')
用戶(hù)登錄:
from django.contrib.auth import authenticate, login
user = authenticate(username='john', password='password123')
if user is not None:
login(request, user)
這里的request
是視圖函數(shù)中的request對(duì)象。
用戶(hù)登出:
from django.contrib.auth import logout
logout(request)
檢查用戶(hù)是否已登錄:
if request.user.is_authenticated:
# 用戶(hù)已登錄
else:
# 用戶(hù)未登錄
用戶(hù)授權(quán):
from django.contrib.auth.decorators import login_required
@login_required
def my_view(request):
# 用戶(hù)已登錄,進(jìn)行后續(xù)操作
使用@login_required
裝飾器可以限制只有登錄用戶(hù)才能訪問(wèn)該視圖函數(shù)。
檢查用戶(hù)權(quán)限:
if user.has_perm('myapp.can_edit'):
# 用戶(hù)具有編輯權(quán)限
else:
# 用戶(hù)沒(méi)有編輯權(quán)限
這里的myapp.can_edit
是一個(gè)權(quán)限標(biāo)識(shí)符,可以在Django的權(quán)限管理中定義。
這只是Django的auth模塊的一些常見(jiàn)用法,更多詳細(xì)的使用方法可以查閱Django官方文檔。