在Django中引用一个名为id的url

时间:2013-01-11 20:41:16

标签: django django-templates django-urls

我想在我的模板中使用其名称引用动态网址,但我不确定如何合并对象ID。换句话说,我想在我的模板中引用“/ products / 98”而不必对其进行硬编码(因为我的url模式可能会改变)。

在我的urls.py中,我有:

url(r'^products/(\d+)/$', 'products.views.show_product', name='product'),

如何命名我的模式以便我可以调用{%url ???模板中的%}以获取具有指定ID的正确项。 e.g。

{% for product in product_list %}
    <a href="{% url ??? %}">Product #{% product.id %}</a>
{% endfor %}

2 个答案:

答案 0 :(得分:2)

使用{% url product product.id %}

答案 1 :(得分:1)

urls.py:

url(r'^products/(?P<product_id>\d+)/$', 'products.views.show_product', name='product'),

模板:

{% load url from future %}


{% for product in product_list %}

<a href="{% url "product" product_id=product.id %}">Product #{{ product.id }}</a>
{% endfor %}

确保您的products.views.show_product视图函数将product_id作为参数。