Django的render_to_string生成<br/>标签

时间:2016-12-26 10:07:07

标签: python django python-2.7

Django 1.10,Python 2.7

我正在使用render_to_string函数来获取模板的呈现内容,并将其用于管理员自定义字段的内容中。 所以我的代码在Admin的类中看起来像那样:

    def checks(self, obj):
       # ...
       return render_to_string('template.html', context)

    checks.allow_tags = True

template.html我只有一张桌子:

<table>
    {% for something in somethings %}
      <tr><td>...</td></tr>
    {% endfor %}
</table>

但是这会在实际表格之前产生很多<br>

<br>
<br>
<br>
...
<br>
# Actual table
<br>
<br>

在这种情况下有什么问题?

UPD。我可以通过从模板文件中删除空格和换行符来“修复它”。但显然,这不是我希望它工作的方式。

1 个答案:

答案 0 :(得分:2)

allow_tagsdeprecated since version 1.9

  

在旧版本中,您可以为方法添加allow_tags属性   防止自动转义。不推荐使用此属性,因为它更安全   改为使用format_html(),format_html_join()或mark_safe()。

尝试:

def checks(self, obj):
       # ...
       return mark_safe(render_to_string('template.html', context))