view.py中定義登錄判斷裝飾器函數
def login_required(view_func):'''登錄判斷裝飾器'''def wrapper(request, *view_args, **view_kwargs):# 判斷用戶是否登錄if request.session.has_key('islogin'):# 用戶已登錄,調用對應的視圖return view_func(request, *view_args, **view_kwargs)else:# 用戶未登錄,跳轉到登錄頁return redirect('/login')return wrapper
使用時,在函數前邊添加@login_required即可。
@login_required
def change_pwd(request):'''顯示修改密碼頁面'''return render(request, 'booktest/change_pwd.html')
@login_required
def change_pwd_action(request):'''模擬修改密碼處理'''# 1.獲取新密碼pwd = request.POST.get('pwd')# 獲取用戶名username = request.session.get('username')# 2.實際開發的時候: 修改對應數據庫中的內容...# 3.返回一個應答return HttpResponse('%s修改密碼為:%s'%(username,pwd))