【发布时间】:2020-08-14 10:10:23
【问题描述】:
假设我的项目urls.py 看起来像这样:
urlpatterns = [
path("admin/", admin.site.urls),
path("foo/", include("foo.urls"), name="foo"),
]
然后我有一个文件foo/urls.py,它有一些进一步的网址:
urlpatterns = [
path("bar/", views.bar, name="bar"),
path("baz/", views.baz, name="baz"),
]
我想做的事
获取“部分”网址,将您带到包含的“网址”。例如,我可以通过reverse("bar") 得到foo/bar。但我似乎做不到reverse('foo') to get just foo`。有没有办法做到这一点。
一个(不理想的)解决方案
我可以在foo/urls.py 的最后放置一个虚拟视图,路径为"",然后将其反转。但是我不喜欢这个解决方案。感觉很老套,如果用户点击此 URL,可能会遇到问题。
【问题讨论】:
-
我可以建议在你的 foo
include调用中包含一个命名空间。这将使 url 反转更好,并允许您使用多个具有相同名称的 url,只要命名空间不同。
标签: python django django-urls