【问题标题】:Render title/legends as html with django crispy forms将标题/图例渲染为带有 django 清晰表单的 html
【发布时间】:2016-06-20 04:44:06
【问题描述】:

我有一个带有标签的表单,以及一个标签下的手风琴,如下所示:

self.helper.layout = Layout(
            TabHolder(
                Tab(
                    'Title',
                    HTML('{% load i18n %}<h4>{% trans "This works well" %}</h4></br>'),
                    Accordion(
                        AccordionGroup(
                            HTML('I am HTML'),
                            'a_field',
                            ),
                    ),
                ),
            )

虽然HTML() 在第一个参数之后呈现时有效,但当用作第一个参数时,它只返回一个&lt;crispy_forms.layout.HTML object xyz&gt;

<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion-9011" href="#crispy_formslayouthtml-object-at-0x3d6ea90">&lt;crispy_forms.layout.HTML object at 0x123456&gt;</a>

如何让它正确渲染?

【问题讨论】:

    标签: django forms django-forms django-crispy-forms


    【解决方案1】:

    这可能不适用于模板标签和过滤器,但要使用 HTML 作为选项卡或手风琴组的标题,您可以使用django.utils.html.format_html

    self.helper.layout = Layout(
        Accordion(
            AccordionGroup(
                format_html('This is <em>html</em>'), 
                'a_field',
            ),
        ),
    )
    

    【讨论】:

      猜你喜欢
      • 2015-04-14
      • 1970-01-01
      • 2018-12-26
      • 2020-07-31
      • 1970-01-01
      • 2021-07-13
      • 2014-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多