You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django的include模板标签中动态传入url标签的slug参数?

解决Django include模板动态传slug到url标签的问题
  • 错误原因:你在子模板里写的{% url '{{slug}}' %}是错误写法,Django的url标签接受视图/URL模式名称的变量时,不需要用双大括号包裹变量,嵌套的模板语法会被当成字符串处理,导致Django找不到对应的URL模式,从而抛出NoReverseMatch错误。

  • 正确写法:

    1. 父模板保持原有写法即可:
      {% include 'my-template.html' with slug='someslug' link_title='My Link Title' %}
      
    2. 子模板直接使用变量名,去掉嵌套的双大括号:
      <a href="{% url slug %}">{{link_title}}</a>
      
  • 扩展场景:如果你的URL模式需要多个参数(比如主键ID+slug),同样直接在url标签里传递变量即可:
    父模板:

    {% include 'my-template.html' with url_name='article_detail' article_id=456 slug='hello-world' link_title='查看文章' %}
    

    子模板:

    <a href="{% url url_name article_id slug %}">{{link_title}}</a>
    

内容的提问来源于stack exchange,提问作者asking for a friend

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 13:18:10