我正在使用 Django 框架创建一个网站,但遇到问题

问题描述 投票:0回答:1

path('accounts/login/', auth_view.LoginView.as_view(template_name='app/login.html',authentication_form=LoginForm), name='login'),

path('注销/', auth_view.LogoutView.as_view(next_page='登录'), name='注销'),

当我想使用注销功能时,我已经在我的 urls.py 中设置了如上所述,并且我也在我的 base.html 中很好地链接了它,如下所示 href="{% '注销' url %}"

并且在终端中有一条消息 Method not allowed(GET): /logout/ Method Not allowed:/logout/

但是在我尝试注销页面后它不起作用,请帮助我

python django django-templates
1个回答
0
投票

从 Django 4.1 开始,不再支持通过 GET 请求注销。它只接受 POST 请求。改为这样做:

<form method="post" action="{% url 'logout' %}">
    {% csrf_token %}
    <input type="submit" value="Logout"/>
</form>

© www.soinside.com 2019 - 2024. All rights reserved.