当前位置: 首页 > 面试题库 >

Jinja呈现HTML保留换行符的文本

万俟鸿波
2023-03-14
问题内容

我有一个简单的形式,像这样:

class RecordForm(Form):    
    notes = TextAreaField('Notes')

我将数据记录为以下三段:

para1

para2

para3

在模板中,我想以只读方式查看该记录的内容。(不可编辑的表格)

在这种情况下,记录是包含数据的模型:

<td>{{ record.notes }}</td>

->

<td>para1 para2 para3</td>

我该怎么做才能显示多行?


问题答案:

包括换行符在内的所有空格都被转换为HTML中的单个空格。

您的选择,从最佳到最差:

  1. 放在white-space: pre-wrap;包含元素上。这告诉HTML完全显示源代码中显示的所有空白,包括换行符。(您也可以使用<pre>标签,但是这也会禁用您可能不需要的自动换行)。
  2. 将纯文本视为Markdown并向其投放Markdown处理器-Markdown所做的一件事情就是在中包装段落<p>
  3. 在Python领域中,html" target="_blank">执行.replace('\n', '<br>')。但是,这会使您容易受到XSS的攻击,因为字符串中可能还存在其他类似HTML的垃圾,并且进行修复很麻烦。


 类似资料:
  • 问题内容: 我有一个带有textarea的表单,我想保留输出内容时用户输入的换行符。 例如,如果我在textarea中写: 这是一个句子。这是另一个。这里还有一个。 这是一个新段落。这是一个新句子。这是另一个。 我想要相同的输出,而 不是 : 这是一个句子。这是另一个。这里还有一个。这是一个新段落。这是一个新句子。这是另一个。 如何保留换行符? 问题答案: 通常,您只需要添加 空格修剪为单个空格

  • 问题内容: 我的代码而不是使用代码,因为我之前有过。 所以我的代码: 项目说明包含未呈现的换行符。 假设我已具备上述条件,如何轻松显示换行符? 问题答案: 基于@pilau的答案-但经过改进,即使是公认的答案也没有。 这将使用给定的换行符和空格,但也会在内容边界处中断内容。有关空白属性的更多信息,可以在这里找到: https://developer.mozilla.org/zh-CN/docs/W

  • 问题内容: 我有以下代码: 结果是: 但我想打破界限: 我已经看过jsoup的TextNode#getWholeText(),但是我不知道如何使用它。 如果我解析的标记中有一个,如何在结果输出中换行? 问题答案: 保留换行符的真正解决方案应该是这样的: 满足以下要求: 如果原始html包含换行符(\ n),则保留它 如果原始html包含br或p标签,它们将被翻译为换行符(\ n)。

  • 问题内容: 我正在尝试写一个(冗长但已包装),来自。当字符串打印到控制台时,格式与中相同,但是当我使用BufferedWriter将它们写入文件时,它是在单行中写入。 以下代码段可以复制它: 什么地方出了错?如何解决呢?谢谢你的帮助! 问题答案: 不论运行在什么平台上,a中的文本都将带有换行符。在将其写入文件时,您将需要用特定于平台的换行符替换这些字符(对于Windows,这是,正如其他人提到的那

  • 问题内容: 我有一些代码示例要在HTML文档中发布。我是用,标记包装它们,但是我希望它们的样式是这样的保留换行符。我也可以用标签,但我更喜欢使用CSS。 我已经在IE7中尝试了以下内容 这可能吗? 问题答案: 检查doctype是否有效并在第一行。也许它滑进了quirks mode??

  • 问题内容: 我有一个带有详细信息页面的MVC3应用程序。作为其一部分,我有一个描述(从数据库检索),其中有空格和换行符。呈现时,新行和空格将被html忽略。我想对这些空格和换行进行编码,以免被忽略。 你是怎样做的? 我尝试了HTML.Encode,但最终显示了编码(甚至不是在空格和换行符上,而是在其他一些特殊字符上) 问题答案: 只需使用设置样式即可。