如何将Django的url标签与bootstrap_button标签结合实现链接按钮?
正确实现方式
方法1:先赋值URL变量再传入标签
- 用
{% url %}标签把目标URL存为模板变量:
{% url 'report:create' as create_url %}
- 在
{% bootstrap_button %}标签里,直接用变量名作为href参数值(不要加双大括号{{}}):
{% bootstrap_button button_type="link" content="Create Report" href=create_url %}
方法2:直接传递URL标签结果(简化写法)
也可以跳过变量赋值,直接把{% url %}的结果作为参数传入,注意要去掉外层引号,让Django解析标签:
{% bootstrap_button button_type="link" content="Create Report" href=url 'report:create' %}
不过这种写法可读性稍弱,更推荐第一种方法。
问题原因
之前用href="{{create_url}}"时,django-bootstrap5的模板标签会把带引号的内容当成普通字符串处理,而非模板变量。直接写href=create_url时,Django才会自动识别并解析这个变量的实际URL值。
内容的提问来源于stack exchange,提问作者Chris Curvey
相关产品推荐
相关产品推荐

