1. 程式人生 > >裝飾器實現session登陸 驗證功能

裝飾器實現session登陸 驗證功能

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登陸 驗證功能