我們在做項目的時候避免不了會遇到登錄認證的問題、
這些問題Django 已經可以幫我們提前做好處理了
在函數前加上 @login_required
Django 內置的方法幫我們驗證用戶是否登錄過,當然方法是最基本的認證方式,當我們的邏輯復雜的時候,
這種裝飾器就滿足不了我們的認證需求,這時候我們可以自己新建一個裝飾器
def checkLogin(func): def wrapper(request, *args, **kwargs): userinfo = request.session.get('userinfo', False) if userinfo: username = userinfo.get("username", False) if username: return func(request, *args, **kwargs) else: return redirect('/login/') return wrapper
只需要在 視圖前加上 @ 裝飾器名 就可以達到登錄認證。
當然這兩種方式都可以解決登錄認證,比較麻煩的是,我們需要在每個 函數前都要進行登錄認證
我們可以在 中間件中 做一個登錄認證,這樣的話,我們每次在請求的時候都去認證一次
詳細可參考 :https://blog.csdn.net/weixin_39037804/article/details/102572517
