django安全过滤器未按预期工作

时间:2014-05-24 21:53:04

标签: python html django

我有文字:input = "some<br/>text"

<div>{{input|safe}}</div>

正按照我的要求出现

some
text

但是

<textarea>{{input|safe}}</textarea>

正在出现

some<br/>text

我尝试了|linebreaks,这使得文字显示为:

<p>some<br/>text</p>

如何让文本显示在textarea里面,就像上面的div一样?

1 个答案:

答案 0 :(得分:4)

所涉及的一切都按预期工作。 safe告诉模板引擎不要转义HTML标记,但是您尝试用换行符替换<br/> - textareas不会解释HTML,它们会准确显示它们包含的内容。 linebreaks用于向另一个方向发展,将换行符转换为会破坏HTML行的内容。

我没有看到使用内置标记和过滤器的方法 - 您可能需要编辑视图中的文本或编写自己的过滤器。