【问题标题】:Custom rendering of foreign field in form in django template在 django 模板中自定义渲染表单中的外部字段
【发布时间】:2016-09-30 14:21:28
【问题描述】:

在我的模型表单中,我有一个外键,我不知道如何在模板中更改此字段的外观。我可以通过更改来更改文本

__unicode__ 

模型,但例如,我如何使它变得粗体?

在 models.py 中我尝试了以下方法,但表单会使用和所有其他标签呈现,就好像它们只是文本一样:

def __unicode__(self):
    u'<b>Name</b>: {}\n<b>Loyal</b>: {}'.format(self.name, self.loyal)

我的template.html:

  <form method="post">
    {% csrf_token %}
    {{ form.client|safe}} 
    <br>
    <input type="submit" value="Save changes" class="btn btn-s btn-success">
  </form>

没用。

图片如下:

【问题讨论】:

    标签: python django django-forms


    【解决方案1】:

    Django 1.9 有一个 format_html 函数,这可能是您正在寻找的。来自the Docs:

    format_html(format_string, *args, **kwargs)

    这类似于 str.format(),除了 它适用于构建 HTML 片段。所有 args 和 kwargs 在传递给 str.format() 之前都通过 conditional_escape()。

    在构建小的 HTML 片段的情况下,此函数优于字符串插值,直接使用 % 或 str.format(),因为它将转义应用于所有参数 - 就像模板系统默认应用转义。

    更多信息在这里:Prevent django admin from escaping html

    【讨论】:

      猜你喜欢
      • 2020-04-25
      • 1970-01-01
      • 2011-05-08
      • 2021-06-07
      • 1970-01-01
      • 2015-06-13
      • 1970-01-01
      • 2016-07-05
      • 2013-10-10
      相关资源
      最近更新 更多