裝飾器實現session登陸 驗證功能
阿新 • • 發佈:2017-12-29
user rect 程序 pan dir use post inf index
裝飾器 登陸驗證功能
1.裝飾器模板
def auth(func):
def inner(request, *args, **kwargs):
# ####可以寫裝飾內容
# ########
# 此裝飾器 沒有添加 任何 操作,是個模板裝飾器寫法
response = func(request, *args, **kwargs)
# 返回 response 值
return response
# 返回 內部函數結果
return inner
2.裝飾器執行程序
def auth(func):
def inner(request, *args, **kwargs):
# ####可以寫裝飾內容
# 驗證 session 中是否記錄了 USER_SESSION_KEY 數據,如果沒有 跳轉到 /login/ 去
user_info = request.session.get(settings.USER_SESSION_KEY)
if not user_info:
return redirect("/login/")
# ########
# 執行試圖函數
response = func(request, *args, **kwargs)
return response
return inner
3.應用該裝飾器
@auth
def index(request):
return HttpResponse("驗證成功!")
裝飾器實現session登陸 驗證功能