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。我可以通过从模板文件中删除空格和换行符来“修复它”。但显然,这不是我希望它工作的方式。
答案 0 :(得分:2)
allow_tags
是deprecated 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))