我有一个看法
@login_required
def dashboard(request):
if request.session.get("pending-token"):
return redirect("speaker_create_token",
request.session["pending-token"])
return render(request, "dashboard.html")
和 urls.py 中的一行
url(r'^dashboard/', dashboard, name='dashboard'),
当我使用登录用户打开 /dashboard/ 时,我看到了页面。我的 html 代码用于身份验证是
<div>
<div id="user">
{% if user.is_authenticated %}
<snap><a href="{% url 'profile' %}">{{ user.username }}</a> </snap>
<snap><a href="{% url 'logout' %}">Logout</a> </snap>
{% else %}
<snap><a href="{% url 'login' %}">Sign In</a> </snap>
<snap><a href="{% url 'create_user' %}">Sign Up</a> </snap>
{% endif %}
</div>
</div>
当我尝试在不记录的情况下请求 /dashboard/ 时,出现错误
NoReverseMatch at /dashboard/
Reverse for 'account_login' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
我将 LOGIN_URL = '/accounts/login/' 添加到 settings.py,但它不起作用。我看到了类似的问题,但我仍然不明白如何避免这个错误。