0

私のコードは次のようなものです:

def check(request):
    if(success):
        #nothing should do
    if(fail):
        return HttpResponseRedirect("http://google.com")

def index(request):
    return check(request)
    #some other taskshere after checking login 

私は他の投稿で、HttpResponseRedirect仕事をするために、次のように呼び出し中にそれを返さなければならないことを読みました:

return check(request)  

ログインが失敗した場合は問題ありませんが、ログインが成功した場合、メソッドチェックは何も返さないため、インデックス メソッドがHttpResponseObject を返さなかったというエラーが発生します。解決策は何ですか?

ありがとう

4

1 に答える 1

0

これには認証デコレータを使用します。

https://docs.djangoproject.com/en/dev/topics/auth/#the-login-required-decorator

どうしても必要な場合は、さまざまな方法があります。あなたが説明するようにあなたはそれをすることができます:

def index(request):
    auth_situation = check(request)

    if auth_situation is None:               
       # some other tasks here, render a template,
       # redirect, do something, man!
    else:
       return auth_situation
于 2012-05-01T02:48:22.733 に答える