我正在使用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 %}
我该怎么做?
答案 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",
)