在使用最新版Django时,我想要创建一个使用内置系统的LogoutView视图。但当我尝试运行服务器时,LogoutView并未生效,并且出现了错误。错误截图如下:
以下是urls.py代码段:
from django.contrib import admin
from django.urls import path, include
from users import views as user_views
from django.contrib.auth import views as auth_views
urlpatterns = [
path('admin/', admin.site.urls),
path('food/', include('food.urls')),
path('register/', user_views.register, name='register'),
path('login/', auth_views.LoginView.as_view(template_name='users/login.html'), name='login'),
path('logout/', auth_views.LogoutView.as_view(template_name='users/logout.html'), name='logout'),
]
检查后发现错误如下:
HTTP错误代码405表示“方法不允许”。Django中的LogoutView通常期望通过POST方法进行登出操作,但在终端中看到的是:
"GET /logout/ HTTP/1.1" 405 0
方法不被允许 (GET):/logout/
方法不被允许:/logout/
翻译成中文后:
在使用最新版本的Django时,我想利用系统内置功能创建一个LogoutView视图。然而,在尝试启动服务器时,LogoutView无法正常工作并显示错误信息。
以下是urls.py文件的部分配置:
from django.contrib import admin
from django.urls import path, include
from users import views as user_views
from django.contrib.auth import views as auth_views
urlpatterns = [
path('admin/', admin.site.urls),
path('food/', include('food.urls')),
path('register/', user_views.register, name='register'),
path('login/', auth_views.LoginView.as_view(template_name='users/login.html'), name='login'),
path('logout/', auth_views.LogoutView.as_view(template_name='users/logout.html'), name='logout'),
]
经过查看,发现错误是:
HTTP状态码405代表“方法不被允许”。Django的LogoutView视图默认情况下期望以POST方式执行登出操作,但在终端中得到的反馈是:
"GET /logout/ HTTP/1.1" 405 0
Method Not Allowed (GET): /logout/
Method Not Allowed: /logout/