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官方文檔。