【发布时间】:2014-02-15 18:03:37
【问题描述】:
我有这两个 url confs,它们引用了 2 个完全不同的视图:
#category
url(r'^(?P<cat>[^/]+)/$', 'reviews.views.category', name='category'),
#produt
url(r'^(?P<slug>[^/]+)/$', 'reviews.views.single_product', name='product_detail'),
我的模板中的这些链接:
{% url 'category' cat='eletronics' %}
{% url 'product_detail' slug=values.3.0 %}
但是,两个链接都转到“类别”视图,而不是第二个链接转到“产品详细信息”视图。
我知道这一点,因为当我单击第二个链接时,django 会返回一条消息,其中包含仅存在于“类别”视图中的变量名错误。 但是,如果更改 urlconfs 中的顺序,因此“product_detail”视图出现在“category”视图之前,那么两个链接都会转到“product_detail”视图。
如何解决?
【问题讨论】:
-
请看这个答案stackoverflow.com/a/21801006/351760,它解释了一个几乎相同的问题。在您的情况下, '^(?P
[^/]+)/$' 和 '^(?P [^/]+)/$' 都将匹配相同的网址。 -
感谢您的回答
标签: django django-templates django-views