我想創建自定義裝飾器來檢查當前用戶并為此用戶運行查詢以獲取一些屬于他的資料,然后如果已定義資料函式被呼叫并傳遞整個串列,則回傳 403 錯誤。我該如何解決這個問題?
uj5u.com熱心網友回復:
你可以這樣寫裝飾器:
# check_data is what the user must have access to
def custom_decorator(check_data):
def decorator(func):
def wrapper(request, *args, **kwargs):
user = request.request.user
# data_list is list of his access
data_list = []
if user.is_authenticated:
pass
# you can do your query here to check access
if check_data in data_list:
kwargs['access_list'] = data_list
return func(request, *args, **kwargs)
# return Http Error here
return wrapper
return decorator
將 access_list 引數添加到您的視圖函式中:
@custom_decorator("something")
def get(self, request, access_list=None):
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/364924.html
標籤:姜戈 PostgreSQL的
上一篇:來自陣列內物件的JSON值
