pow*_*wlo 5 python django rendering textfield
我注意到我的模板正在渲染我的model.CharField和model.TextField而没有任何多余的空格.
例如,如果我输入数据,如...
This is a test
to see what happens.
Run Code Online (Sandbox Code Playgroud)
渲染的对象字段将显示为......
This is a test to see what happens.
Run Code Online (Sandbox Code Playgroud)
这是Django的故意特征还是我错过了某些过滤器或参数?
我用一些调试代码(print object.field)检查了字段本身,它确实包含额外的空格,所以问题出在渲染方面.
如何允许用户在TextFields中输入数据段落?如何保留用户可能输入的空白?
jpi*_*pic 13
正如您在StackOverflow中看到的那样,您的空间不会显示,这来自您的问题的来源:
This is a test
to see what happens.
Run Code Online (Sandbox Code Playgroud)
将保存在数据库中:
This is a test\n\n\nto see what happens.
Run Code Online (Sandbox Code Playgroud)
渲染为html时遇到问题:
除非<pre></pre>标签位于标签之间,否则浏览器会显示单词之间的额外空格
换行符将呈现为纯文本换行符,除非在<pre></pre>标记之间,否则不会在浏览器中显示.
对于空格,您可以使用这样的模板过滤器将它们替换为等效的html实体: .
要在HTML换行符中转换数据库换行符,请使用linebreaksbr内置过滤器.例如,如果{{ foo }}是:test\nbar,那么{{ foo|linebreaksbr }}将呈现:test<br />bar
在某些应用中创建一个"templatetags"文件夹,其中包含一个__init__.py文件.
例如,在someapp/templatetags/replace_tag.py中保存代码段
像这样在模板中加载模板过滤器{% load replace_tag %}
将replace和linebreaksbr结合起来:{{ foo|linebreaksbr|replace:" "," " }}
您还可以创建自己的模板过滤器,将文本处理为您需要的HTML.在任何情况下,请参阅自定义模板筛选器文档以获取完整信息.
| 归档时间: |
|
| 查看次数: |
3757 次 |
| 最近记录: |