Django下一页不在登录页面工作

Kon*_*rad 3 python django login

我打开浏览器,尝试访问我的Django站点.我已经退出了我的帐户,所以我被重定向到我的登录页面,我要将该页面作为GET参数.

http://website.com/login/?next=/customer/7/54
Run Code Online (Sandbox Code Playgroud)

但是,当我输入登录信息时,我会被重定向到:

http://website.com/
Run Code Online (Sandbox Code Playgroud)

尽管如此,我还是想:

http://website.com/customer/7/54
Run Code Online (Sandbox Code Playgroud)

/ customer/7/54指向一个确实有@login_required装饰器的视图,但我是在假设,我登录后它仍然指向该视图.发生了什么?

编辑:所以我意识到,我有一个隐藏的输入标签:

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

但是,如何将GET参数'/ customer/7/54 /传入登录模板?

Ser*_*ney 7

根据您编辑的问题,您可以在登录页面获取下一个参数,如下所示:

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

标准django django.contrib.auth.views.login将next变量直接传递给模板上下文.另外,阅读有关用户身份验证的文档:

您还可以通过将redirect_field_name传递给视图来指定GET字段的名称,该字段包含要在登录后重定向到的URL.默认情况下,该字段将被调用.

但是,你可能不需要改变它.