首页 > 解决方案 > 如何在 django python 中将多条路径路由到一个 url

问题描述

我想将以 'search/' 结尾的所有路径路由到一个 url。我尝试了很多方法,但没有任何效果。

以下是我尝试的最后一个。

path(r'^search/$', views.search, name="search"),

你能帮忙吗?

标签: python-3.xdjango

解决方案


写完之后,我突然想到您使用path的是不处理正则表达式的。您可能应该使用url(已弃用)或re_path. 如果不是这样,...

urls.py在应用程序中包含在主项目urls.py中。这导致了层次结构。例如。大多数 Django 站点都有一个项目urls.py,其中包含

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

它将任何 URL 分派/admin到 Django 管理代码。该代码基于 URL 的剩余部分进行调度。该代码urls.py从未见过/admin

如果您真的想捕获任何开始/search而不仅仅是/myapp/search您必须将路径或 url 定义放在顶级 (project)urls.py中。不寻常,但完全有可能

url(r'^admin/', admin.site.urls),
path(r'search/$', search_app.views.search, name="search"),

我不知道命名空间是什么(对于reverse("dont_know:search")


推荐阅读