【问题标题】:tag inside bootstrap_button tag in django-bootstrap4django-bootstrap4 中的 bootstrap_button 标签内的标签
【发布时间】:2021-04-26 16:44:06
【问题描述】:

我有一个关于 django-bootstrap4 (https://django-bootstrap4.readthedocs.io/en/latest/templatetags.html#bootstrap-button) 的 bootstrap_button 模板标签的问题,是否可以在 href 中包含我的标签中的标签,如下所示:

{% bootstrap_button "Supprimer" button_type="link" href="../../delete/{{article.id}} " button_class="btn-danger" %} 但是{{article.id}} 没有被解释,它给了我一个到http://127.0.0.1:8000/delete/{{article.id}} 的链接

我也试过了:

{% bootstrap_button "Supprimer" button_type="link" href="{% url 'delete' article.id %}" button_class="btn-danger" %}

它返回

TemplateSyntaxError at /edit/127/

Could not parse the remainder: '"{%' from '"{%'

Request Method:     GET
Request URL:    http://127.0.0.1:8000/edit/127/
Django Version:     3.0.5
Exception Type:     TemplateSyntaxError
Exception Value:    

Could not parse the remainder: '"{%' from '"{%'

但是这些语法都不起作用... 你能帮我让它工作吗?

谢谢

【问题讨论】:

    标签: django bootstrap-4 django-templates django-bootstrap4


    【解决方案1】:

    最简单的方法是先将 url 声明为模板变量:

    {% url 'delete' article.id as delete_url %}
    {% bootstrap_button "Supprimer" button_type="link" href=delete_url button_class="btn-danger" %}
    

    【讨论】:

    • 感谢您的回答。这看起来很整洁,但它不起作用......因为 delete_url 周围没有双引号,所以按钮不会呈现为<a>。如果我添加双引号,我会得到一个指向 delete_url 的链接(没有替换它的值)
    • 您是否从控制台检查了呈现的 html?锚看起来像一个按钮(css),但实际上是一个锚。
    • 是的,它给了我这个<button class="btn btn-danger">Supprimer</button>
    • 尝试单独渲染{{ delete_url }} 有什么作用吗?
    • 对不起,我的错误......我的网址有问题非常感谢您
    猜你喜欢
    • 2014-07-25
    • 2011-10-28
    • 2014-04-03
    • 2011-10-07
    • 1970-01-01
    • 2013-08-12
    • 2013-03-09
    • 2012-05-12
    • 1970-01-01
    相关资源
    最近更新 更多