我的问题是@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 /'
我们非常感谢任何建议。
具体来说,我想动态地将“下一个”路径附加到根地址,但它根本不附加“下一个”路径。
答案 0 :(得分:1)
很简单,您需要将LOGIN_URL
和LOGIN_REDIRECT_URL
更改为settings.py
中所需的路径。
例如:
LOGIN_URL = '/login/'
LOGIN_REDIRECT_URL = '/user/accounts/'