我在我的项目中使用 django-user-accounts 应用程序。我无法理解奇怪的行为。当用户尝试登录时,没有任何反应。成功登录后,我想重定向用户。为什么ACCOUNT_LOGIN_REDIRECT_URL
设置不起作用?
settings.py:
ACCOUNT_LOGIN_REDIRECT_URL = reverse_lazy('dashboard')
我也尝试使用LOGIN_REDIRECT_URL = reverse_lazy('dashboard')
但结果是一样的。
urls.py:
url(r"^account/", include("account.urls")),
templates/account/login.html:
<form method="post" action="">
{% csrf_token %}
{% render_field form.username|add_class:"form-control" placeholder="Username" %}
{% render_field form.password|add_class:"form-control" placeholder="Password" %}
<input type="hidden" name="next" value="{{ next }}"/>
</form>
在控制台中,我看到下一个:
[26/May/2018 14:31:38] "GET /account/login/ HTTP/1.1" 200 4018
登录重定向设置必须是纯字符串。将reverse
用于这些不起作用。
文档在这里
ACCOUNT_LOGIN_REDIRECT_URL = '/dashboard/'
如果您需要对重定向做任何复杂的操作,例如找出哪个用户已登录并重定向到某个地方,那么使上述设置成为具有逻辑的视图,以执行您需要做的事情。