首页 > 解决方案 > django url dispatcher 的问题,无法解析 url

问题描述

我安装了最新的 django 并通过 hello world 教程工作

我在让 url 调度程序工作时遇到问题

我在 django_web/urls.py 中配置如下

urlpatterns = [
    path('TEST1', include('newpage.urls')),
    #path('admin/', admin.site.urls),
]

在 newpage/urls.py 我得到了

urlpatterns = [
        path('', views.index, name='index'),
        path('TEST' ,views.index2, name='cokolwiek'),
        ]

如果我点击 localhost:8000/TEST1 - 工作正常

如果我点击 localhost:8000/TEST1/TEST - 不起作用我收到以下消息

Using the URLconf defined in django_web.urls, Django tried these URL patterns, in this order:

TEST1 [name='index']
TEST1 TEST [name='cokolwiek']
The current path, TEST1/TEST, didn't match any of these.

这到底是怎么回事

标签: pythondjangourldispatcher

解决方案


您没有使用斜线,因此路径是. 但很可能你不希望这样。您可能希望在 : 之后添加一个斜杠:localhost:8000/TEST1TESTTEST1

urlpatterns = [
    path('TEST1/', include('newpage.urls')),
]

这也是使用的原因admin/。Django 通常会首先尝试这些模式,如果没有解决任何问题,请尝试附加一个斜杠并再次尝试路径。这是APPEND_SLASH设置 [Django-doc]的效果。但这仅在完整路径的末尾完成。所以这并不意味着它在模式上添加了斜线。


推荐阅读