【问题标题】:NoReverseMatch at /admin/ Reverse for 'logout' with no arguments not found. 1 pattern(s) tried: ['$admin/logout\\/$']NoReverseMatch at /admin/ Reverse for 'logout' 未找到任何参数。尝试了 1 种模式:['$admin/logout\\/$']
【发布时间】:2018-11-25 13:16:41
【问题描述】:

我的 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' 中删除 '$' 仍然出现同样的错误。

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

【问题讨论】:

    标签: django python-3.x django-models django-admin


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 正如我所提到的,同样的错误仍然存​​在,最后没有'$'。并且还添加了 django.contrib.admin。
    猜你喜欢
    • 2019-04-17
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-13
    • 2020-07-20
    • 2021-05-13
    • 2020-10-14
    • 1970-01-01
    相关资源
    最近更新 更多