【问题标题】:How to display strings containing a "\n" in Django HTML template如何在 Django HTML 模板中显示包含“\n”的字符串
【发布时间】:2021-07-25 10:32:00
【问题描述】:

我找不到在 Django HTML 模板中使用包含 \n 的字符串变量的方法。 这是我的模板:

<body>
    <textarea id="my-text"></textarea>
</body>

<script>
    document.getElementById("my-text").value = "{{ message }}";
</script>

与

message = "Message containing a \n character"

当 Django 渲染模板时,它会生成一个像这样的 HTML:

<body>
    <textarea id="my-text"></textarea>
</body>

<script>
    document.getElementById("my-text").value = "Message containing a 
 character";
</script>

而且 Javascript 不起作用。

有没有办法解决这个问题?

【问题讨论】:

    标签: html django django-templates


    【解决方案1】:

    使用 Django 过滤器linebreaksbr 将纯文本转换为 HTML 格式

    {{ message|linebreaksbr }}
    

    【讨论】:

    • 这将在文本区域中打印一个“
      ”。我刚刚在 Javascript 中使用反引号解决了,谢谢
    【解决方案2】:

    解决了在 Javascript 中使用反引号的问题,它允许在更多行上写入字符串。这是我的新模板:

    <body>
        <textarea id="my-text"></textarea>
    </body>
    
    <script>
        document.getElementById("my-text").value = `{{ message }}`;
    </script>
    

    【讨论】:

      猜你喜欢
      • 2016-01-13
      • 2012-01-11
      • 2023-03-14
      • 2015-04-28
      • 2012-10-18
      • 2016-01-19
      • 2014-11-22
      • 2014-07-07
      • 1970-01-01
      相关资源
      最近更新 更多