Django登录重定向无法正常工作?

mpe*_*pen 10 django django-authentication

我去了我的网页http://localhost:8000/listings/post/,它没有通过测试

@user_passes_test(lambda u: u.is_authenticated() and u.get_profile().shipper)
Run Code Online (Sandbox Code Playgroud)

正如所料,并重定向我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'),
Run Code Online (Sandbox Code Playgroud)

那么可能的原因是什么?

mpe*_*pen 15

需要添加

<input type="hidden" name="next" value="{{ next }}" />
Run Code Online (Sandbox Code Playgroud)

到我的登录表单.它被发布到登陆网址没有next令牌,并随后试图重定向.

  • 嗯......好吧,好吧.然后你可以检查.我认为它已设置,因为它出现在URL中.但你仍然没有真正解决问题;) (2认同)