10

私は私のウェブページに行きhttp://localhost:8000/listings/post/ます、それはテストに失敗します

@user_passes_test(lambda u: u.is_authenticated() and u.get_profile().shipper)

期待どおりにリダイレクトされ、想定どおりにリダイレクトされhttp://localhost:8000/login/?next=/listings/post/ますが、再度ログインすると、想定どおりにそのページにリダイレクトされません。までかかります/accounts/profile/。どこにも定義していないので、デフォルト変数redirect_field_nameを探す必要があります。next関連するurls.pyビットは次のようになります

url(r'^login/$', 'django.contrib.auth.views.login', name='login'),

では、これにはどのような原因が考えられるのでしょうか?

4

2 に答える 2

16

追加が必要

<input type="hidden" name="next" value="{{ next }}" />

ログインフォームへ。トークンなしでログイン URLにポストバックし、リダイレクトしようとしていましたnext

于 2010-02-15T05:38:33.210 に答える
4

設定変数にリダイレクトされますLOGIN_REDIRECT_URL

これは、次の場合に発生します。

if not redirect_to or '//' in redirect_to or ' ' in redirect_to:
                redirect_to = settings.LOGIN_REDIRECT_URL

ほとんどの場合、「次の」変数は空であるか、ガベージが含まれています。

于 2010-02-15T00:09:06.937 に答える