Django @login_required'next'错误的重定向

时间:2013-07-12 13:59:27

标签: django

我的问题是@login_required重定向到根页而不是正确的下一个路径。 登录后,/accounts/login/?next=/main/setka/会重定向到'/'而不是/main/setka/

有人可以帮助我吗?

代码:

主管网址

url(r'^main/', include('main.urls')),   
url(r'^accounts/',include('loginsystem.urls')),

loginsystem.urls

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

/ main / urls.py

(r'^setka/$', views.setka),

我在'/'主页

与装饰器相关视图的链接
<li><a href="/main/setka/">Setka</a></li>

loginsystem.views

@login_required
def setka(request):
    return render_to_response('main/setka.html')

login.html包含

    {% load staticfiles %}

<link rel="stylesheet" type="text/css" href="{% static 'accounts/style.css' %}" />

{% if form.errors %}
<p class="error">Sorry invalid</p>
{% endif %}
<body>
<form action="/accounts/auth/" method="post"> {% csrf_token %}
<label for="username">User name:</label>
<input type="text" name="username" value="" id="username">
<label for="password">password:</label>
<input type="password" name="password" value="" id="password">

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

</form>
</body>

Url chain喜欢这样:'root /' - &gt; root / accounts / login /?next = / main / setka / - &gt; '/'而不是'root / main / setka /'

我们非常感谢任何建议。

具体来说,我想动态地将“下一个”路径附加到根地址,但它根本不附加“下一个”路径。

1 个答案:

答案 0 :(得分:1)

很简单,您需要将LOGIN_URLLOGIN_REDIRECT_URL更改为settings.py中所需的路径。

例如:

LOGIN_URL = '/login/'
LOGIN_REDIRECT_URL = '/user/accounts/'