You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django与HTML模板中实现换行而非显示' '或'<br/>'

解决Django模板表格中字符串换行问题

Django默认会自动转义HTML内容,这就是你用<br/>或\n无法实现换行的原因——前者被转义成纯文本显示,后者在HTML里本身就不会触发换行。以下两种方案可以解决:

方案1:如果字符串已包含<br/>标签

使用safe过滤器告诉Django该内容是安全的HTML,无需转义:

<table border='1'>
  {% for x in datas %}
    <tr>
      <td>{{ x.0 }}</td>
      <td>{{ x.1 }}</td>
      <td>{{ x.3|safe }}</td>
    </tr>
  {% endfor %}
</table>

方案2:如果字符串是带\n的纯文本

使用linebreaksbr过滤器将换行符转换为<br/>标签,同时自动处理安全问题:

<table border='1'>
  {% for x in datas %}
    <tr>
      <td>{{ x.0 }}</td>
      <td>{{ x.1 }}</td>
      <td>{{ x.3|linebreaksbr }}</td>
    </tr>
  {% endfor %}
</table>

额外说明

  • 若需要将换行分隔的文本块包裹成<p>段落标签,可以替换成linebreaks过滤器。
  • 注意safe过滤器仅适用于你完全信任的内容,避免用户输入的内容直接使用,防止XSS攻击。

内容的提问来源于stack exchange,提问作者hello00

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 17:30:47