【问题标题】:Reference a url with an id by name in Django在 Django 中按名称引用具有 id 的 url
【发布时间】:2012-12-26 12:21:37
【问题描述】:

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

在我的 urls.py 中,我有:

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

如何命名我的模式以便我可以调用 {% url ??? %} 在模板中获取具有指定 id 的正确项目。例如

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

【问题讨论】:

    标签: django django-templates django-urls


    【解决方案1】:

    使用{% url product product.id %}

    【讨论】:

    【解决方案2】:

    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 作为参数。

    【讨论】:

    • 酷,非常感谢!应该已经意识到会有一个捷径,但我在文档中找不到它。
    猜你喜欢
    • 1970-01-01
    • 2021-11-10
    • 2019-12-19
    • 2014-04-09
    • 2020-01-19
    • 2017-11-26
    • 2018-01-06
    • 1970-01-01
    • 2014-12-11
    相关资源
    最近更新 更多