我嘗試在Django中編寫自定義裝飾器。 我想將用戶重定向到自定義登錄頁面,如果他們沒有通過該頁面登錄。 我寫了裝飾器,我調試它。雖然它工作得很好,如果用戶沒有登錄後,用戶登錄提示錯誤爲Django自定義裝飾器重定向問題
The view APPNAME.views.home didn't return an HttpResponse object.
您可以在下面找到我的代碼。爲什麼我的裝飾者只需在私人alfa頁面進行身份驗證後跳到return wraps(func)(inner_decorator)
部分?
感謝
def private_alfa_required():
def decorator(func):
def inner_decorator(request,*args, **kwargs):
if 'isPrivateAlfaUser' not in request.session or request.session['isPrivateAlfaUser'] != True:
return render_to_response('homepage.html')
return wraps(func)(inner_decorator)
return decorator
@private_alfa_required()
def home(request):
.....
def home2(request):
.....
我已經寫了這樣的方式,但現在它給出了錯誤,因爲'嘗試模塊APPNAME.main.views中的家。錯誤是:'APPNAME.main.views.home'不是可調用的。'其實我不明白裝飾者背後的邏輯。我在哪裏可以找到一份好的文檔? – brsbilgic
某處存在錯誤,可能在您的'views.py'中。發佈「家庭」功能的全部內容,以便我們可以看到可能存在的問題。 –