如何从django模板中唯一调用具有相同数量参数的url
我在django模板中调用锚标记上的url时遇到问题 这是我模板上的锚如何从django模板中唯一调用具有相同数量参数的url,django,django-templates,django-views,django-urls,Django,Django Templates,Django Views,Django Urls,我在django模板中调用锚标记上的url时遇到问题 这是我模板上的锚 <a href="{% url 'info_page' detail.slug %}"> 我有下面的url模式 urlpatterns = [ url(r'^cars/', include([ url(r'^$', category_page, name=cars), url(r'^(?P<slug>[\w-
<a href="{% url 'info_page' detail.slug %}">
我有下面的url模式
urlpatterns = [
url(r'^cars/', include([
url(r'^$', category_page, name=cars),
url(r'^(?P<slug>[\w-]+)/$', category_page, name=cars),
])
),
url(r'^cars/', include([
url(r'^$', info_page_view, name='info_page'),
url(r'^(?P<slug>[\w-]+)/$', info_page_view, name='info_page'),
])
)
]
urlpatterns=[
url(r“^cars/”,包括([
url(r'^$',类别页面,名称=汽车),
url(r'^(?P[\w-]+)/$,类别页面,名称=汽车),
])
),
url(r“^cars/”,包括([
url(r'^$',信息页面视图,名称='信息页面'),
url(r'^(?P[\w-]+)/$',信息页面视图,名称='信息页面',
])
)
]
基本上,我想将这个锚url重定向到视图中定义的“信息页面视图”定义,
但它实际上是把它归入“分类页面”的定义
在从模板调用时,我可能缺少一些url参数,但没有得到确切的解决方案
当我按给定的名称调用URL时,
我如何区分这些URL,并在预期视图中从模板到登录唯一地调用它们。请建议。URL模式的工作原理是。。。模式匹配!假设您是URL的解析器。那么,哪些模式与此url匹配:
/cars/foobar/
-第二个还是第四个?你说不出来,因为它们是一样的。在这种情况下,由匹配的第一个解决。这两个类别都需要有不同的前缀,例如第二个类别的cars info/
,这样匹配将是唯一的。@yedpodtrzitko:但是如果我用给定的名称调用url,那么至少应该先检查url名称,然后检查url模式…对。但这并没有发生。因此,根据您的说法,我需要更改urlpattern以唯一地调用它。是否有其他方法可以解决此问题。否,该名称仅用于将其转换为{%url%}
或reverse()
等函数中的url。名称必须是唯一的,但生成的URL不是唯一的-因为它们只是模式,所以无法防止它们之间的冲突(例如,[0-9]
与\d
的模式不同,但它们仍然是相同的)。因此,您可以使用具有相同url的多个路由。这取决于你如何防止这种情况发生,否则它就不会像这种情况下那样工作。好的。谢谢我会相应地改变我的模式。