Method Not Allowed (GET): /users/logout/
Method Not Allowed: /users/logout/
[10/Dec/2023 12:46:21] "GET /users/logout/ HTTP/1.1" 405 0

这是在我访问url http://127.0.0.1:8000/users/logout/时发生的.

urls.py:

from django.contrib.auth import views as auth_views

urlpatterns = [
    ...other urls...
    path('users/logout/', auth_views.LogoutView.as_view(), name='logout'),
]

我正在等待用户注销

推荐答案

Since , you need to do this through a POST request, since it has side-effects. The fact that it worked with a GET request was (likely) a violation of the HTTP protocol: it made it possible for certain scripts to log out users, without the user wanting to. So a POST request also protects against cross-site request forgery (CSRF) [wiki].

因此,在模板中,使用一个迷你表单:

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

Python-3.x相关问答推荐

一种基于绝对排序值的极框索引和列定位的Python方法

正则表达式匹配并提取括号前的单词

Django将任何查询显示为html表格

当条件第一次出现时将行标记为True,如果按顺序重复则标记为False

我正在try 从 10*3 矩阵中删除随机值并将其变为 10*2 矩阵

如何强调您正在寻求以 pandas 数据帧的另一列为条件的差异?

在一行中读写一个csv文件

拆分列表的元素并将拆分后的元素包含到列表中

如何在两个矩阵的比较中允许任何列的符号差异,Python3?

Snakemake 'run' 指令不产生错误信息

为什么 numpy 的 `np.char.encode` 会将一个空的 unicode 数组变成一个空的 `float64` 数组?

无法使用 Python 和 Selenium 检索 href 属性

如何在python中将列表转换为其他格式

判断是否存在大文件而不下载它

如何从脚本中提取 PDF 文档的标题以进行重命名?

Django 2 个字段之一不能为空

计数大于Pandas groupby 中的值的项目

如何替换 Python pathlib.Path 中的子字符串?

Django 教程 unicode 不起作用

如何阻止散景在 Jupyter Notebook 中打开新标签?