登录django-registration-redux后重定向

时间:2016-06-29 11:36:42

标签: html django python-3.x

我正在使用django-registration-redux,我的导航栏中有一个登录表单。我想在登录后留在同一页面。即。如果我在登录后访问mypage.com/polls/example,我想回到mypage.com/polls/example,而不是在设置中设置的网址上。

从html登录如下:

{% url "auth_login" as login_url %}
{% if login_url not in request.get_full_path %}
    <li>
        <form class="navbar-form" method="POST" action={{ login_url }}>{% csrf_token %}
            <input type="text" class="form-control top-bar" name="username" placeholder="email" />
            <input type="password" class="form-control top-bar" name="password" placeholder={% trans "password" %} />
            <button type="submit" class="btn btn-default">{% trans "Login" %}</button>
        </form>
    </li>
{% endif %}

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用 next

<form class="navbar-form" method="POST" action="{{ login_url }}?next={{request.path}}">

这将向您的表单添加一个指向当前页面的GET请求。

要使 request.path 正常工作,您必须在 settings.py

中定义模板上下文处理器
TEMPLATE_CONTEXT_PROCESSORS = (
    "django.core.context_processors.auth",
    "django.core.context_processors.debug",
    "django.core.context_processors.i18n",
    "django.core.context_processors.media",
    "django.core.context_processors.request",
)