【发布时间】:2017-04-25 09:32:33
【问题描述】:
如何使两个具有相同结构的 URL 起作用?
我不想在 URL 之前添加任何前缀。我希望所有视图都是example.com/[slug]。
这是我的网址:
url(r'^(?P<slug>[-_\w]+)', views.CategoryArticlesView.as_view(), name='single_category'),
url(r'^(?P<slug>[-_\w]+)', views.SingleArticleView.as_view(), name='single_article'),
我可以通过在第一个 URL 之前添加前缀来轻松地使其工作,例如:
url(r'^**category/**(?P<slug>[-_\w]+)', views.CategoryArticlesView.as_view(), name='single_category'),
但我想要它没有前缀。 现在它只匹配第一个 URL 而不是第二个。
【问题讨论】:
-
你可以这样做,直接在你的视图中检查匹配的类别或文章,然后调用相应的动作。但是这种方法被认为是一种非常糟糕的做法,因为它完全消除了 Django 路由系统的好处。
标签: python django django-urls