Django 优先使用 <something> 而不是 admin/and 登录/ url
Django is giving preference to <something> rather than the admin/and login/ urls
我的应用 urls.py 是:
from django.urls import path
from . import views
from django.conf.urls import (handler400, handler403, handler404,
handler500)
app_name = "bca"
handler404 = 'my_app.views.handler404'
urlpatterns = [
path("", views.index, name='index'),
path("login/", views.login_request, name='login'),
path("register/", views.register, name='register'),
path("logout/", views.logout_request, name='logout'),
path("<match>", views.match, name='match'),# this is being preferred first...
]
每当我在 url 中尝试 admin/ 时,它都会给出一个值错误
我该怎么办?
您的 URL 模式适用于 /admin/
、/login/
等等(都带有尾部斜线)。该错误显示您将要 /admin
(没有尾部斜线)。如果添加斜杠,您应该会看到 Django 管理员。
Django 中的默认行为是将 /admin
(没有尾部斜线)重定向到 /admin/
。但是,当您添加像 path("<match>", ...)
这样的包罗万象的模式时,此行为将停止工作。因此,您应该仔细考虑您是否真的想要一个包罗万象的模式。另一种方法是在 404 页面上显示 match
视图中的内容。
我的应用 urls.py 是:
from django.urls import path
from . import views
from django.conf.urls import (handler400, handler403, handler404,
handler500)
app_name = "bca"
handler404 = 'my_app.views.handler404'
urlpatterns = [
path("", views.index, name='index'),
path("login/", views.login_request, name='login'),
path("register/", views.register, name='register'),
path("logout/", views.logout_request, name='logout'),
path("<match>", views.match, name='match'),# this is being preferred first...
]
每当我在 url 中尝试 admin/ 时,它都会给出一个值错误
我该怎么办?
您的 URL 模式适用于 /admin/
、/login/
等等(都带有尾部斜线)。该错误显示您将要 /admin
(没有尾部斜线)。如果添加斜杠,您应该会看到 Django 管理员。
Django 中的默认行为是将 /admin
(没有尾部斜线)重定向到 /admin/
。但是,当您添加像 path("<match>", ...)
这样的包罗万象的模式时,此行为将停止工作。因此,您应该仔细考虑您是否真的想要一个包罗万象的模式。另一种方法是在 404 页面上显示 match
视图中的内容。