【发布时间】:2020-04-04 00:32:24
【问题描述】:
所以我试图在我的 Django 应用程序中创建一个注销链接。我设置了一个注销用户的视图,然后将他重定向到一个模板 paginaPrincinal.html,该模板有两个用于登录和注册的按钮。
问题是由于某种原因,我在 index.html 中创建的链接 href 没有出现。
我的意见.py
def login_view(request):
if request.method == 'POST':
form = AuthenticationForm(data=request.POST)
if form.is_valid():
user = form.get_user()
login(request, user)
return redirect('index')
else:
form = AuthenticationForm()
return render(request, 'registration/login.html', {'form': form})
def logout_view(request):
logout(request)
return redirect('paginaPrincipal')
我的 urls.py
path('principal/', views.intro, name='pagina_principal'),
path('registro/', views.registro_usuario, name='registro_usuario'),
path('login/', views.login_view, name="login"),
path('logout/', views.logout_view, name="logout"),
path('',views.index, name ='index'),
index.html
{% block contenido %}
<div>
<ul>
{% if user.is_authenticated %}
<li>Hola, {{user.username}}</li>
<li><a href="{% url 'logout' %}"></a></li>
{% endif %}
</ul>
</div>
{% endblock %}
如果我检查代码并尝试转到 Href 时出现的错误是这样的:
NoReverseMatch 在 /myapp2/logout/ 未找到“paginaPrincipal”的反向。 'paginaPrincipal' 不是有效的视图函数或模式名称。
【问题讨论】:
标签: html django django-templates django-views