首页 > 解决方案 > NoReverseMatch at /admin/ Reverse for 'logout' 未找到任何参数。尝试了 1 种模式:['$admin/logout\\/$']

问题描述

我的 MainProjects.urls 代码是

from django.conf.urls import url
from django.contrib import admin
from django.conf.urls import include


admin.autodiscover()

urlpatterns = [
    url(r'^$',include('register_complaint.urls')),
    url(r'^register/',include('register_complaint.urls')),
    url(r'^admin/$', admin.site.urls),
]

我尝试从 'admin' 中删除 '$' 仍然出现同样的错误。

请求 URL: http://localhost:8000/admin/ Django 版本:2.0.6 异常类型:NoReverseMatch 异常值:
“注销”的反向,未找到任何参数。尝试了 1 种模式:['$admin/logout\/$']

标签: djangopython-3.xdjango-modelsdjango-admin

解决方案


您必须从正则表达式中删除 $,因为我们将包含的 url 附加到正则表达式的末尾。

$则表达式中的 表示字符串的结尾,它在直接指向视图的 urlpattern 中是有意义的。但是包含另一个 urlpattern 的 urlpattern 应该只读取 URL 的第一部分,因为其余部分由包含的部分读取。因此需要以 ^ 开头并且不附加 $。

url(r'^admin/', admin.site.urls)

并确保'django.contrib.admin'已添加到INSTALLED_APPS您项目的设置中。除此之外,一切都应该工作。


推荐阅读