Html 为什么我的Django应用程序中的注销链接不起作用?
所以我正在尝试在我的Django应用程序中做一个注销链接。我设置了一个视图,让用户注销,然后将其重定向到一个模板paginaPrincinal.html,该模板有两个用于登录和注册的按钮 问题是由于某种原因,我在index.html中创建的链接href没有出现 我的观点Html 为什么我的Django应用程序中的注销链接不起作用?,html,django,django-templates,django-views,Html,Django,Django Templates,Django Views,所以我正在尝试在我的Django应用程序中做一个注销链接。我设置了一个视图,让用户注销,然后将其重定向到一个模板paginaPrincinal.html,该模板有两个用于登录和注册的按钮 问题是由于某种原因,我在index.html中创建的链接href没有出现 我的观点 def login_view(request): if request.method == 'POST': form = AuthenticationForm(data=request.POST)
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')
我的URL.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%}
{%if user.u经过身份验证%}
- 你好,{{user.username}
{%endif%}
{%endblock%}
传递到重定向的字符串应该是url路由名称。问题是'paginaPrincipal'!='pagina_principal'
def logout_view(request):
logout(request)
return redirect('pagina_principal')
这应该可以解决问题。传递到重定向中的字符串应该是url路由名称。问题是'paginaPrincipal'!='pagina_principal'
def logout_view(request):
logout(request)
return redirect('pagina_principal')
这应该可以解决问题。您正在重定向到“paginaPrincipal”
,但您已经定义了“pagina\u principal”
。您必须更改查看功能
def logout_view(request):
logout(request)
return redirect('pagina_principal')
您正在重定向到“paginaPrincipal”
,但您已经定义了“pagina\u principal”
。您必须更改查看功能
def logout_view(request):
logout(request)
return redirect('pagina_principal')
NoReverseMatch意味着您必须在url.py中设置app_name,如
app_name= "app_name"
在模板中
<a href="{% url 'app_name:logout' %}"></a>
它应该可以工作,NoReverseMatch意味着您必须在url.py中设置app_name
app_name= "app_name"
在模板中
<a href="{% url 'app_name:logout' %}"></a>
应该行得通