django - 如何在 Django 模板中使用换行符
问题描述
嗨,我是 python Django 的新手。我想在特定的地方换行,所以我试过了
def abc(request):
text = "This is\n a good example"
return render(request, 'test.html', {'text' : text})
在 HTML 部分
Hello {{ text|linebreaks }}
这与输出工作得很好
你好这是
一个很好的例子
这是我的问题,我在我的数据库中存储了大约 400 - 800 个单词,其中大约有 4-5 段。我想在这里换行。
所以,我在我的数据库中存储像“这是一个很好的例子”这样的数据。
只需在 django 模板中调用它(Html 端)
但它打印 Hello This is\n 一个很好的例子
在这里为什么换行不起作用?
我的 HTML 真实代码
{% for essay in eassays %}
{{ essay.description|linebreaks }}
{% endfor %}
我已经改名了。另外,我正在加载 100 个这样的数据。任何可能的解决方案或其他逻辑!
谢谢!
解决方案
所以,我在我的数据库中存储像“这是一个很好的例子”这样的数据。
您可能存储'\\n'
在数据库中,所以是一个反斜杠,后跟一个n
. 不是换行符'\n'
[wiki]。请注意,如果您写入\n
表单元素,那么它将被转义并相应地存储。
最好<textarea>
在表单元素中使用 a 让用户使用新行(按Enter)。
您可以尝试通过替换字符串来修复损坏:
from django.db.models import Replace, Value
Essay.objects.update(
description=Replace('description', Value('\\n'), Value('\n'))
)
并因此更新您的数据库,以便'\\n'
现在替换为'\n'
.
推荐阅读
- python - 如何使用python按行名合并两个文件
- mongodb - 如何减少map reduce编程中的输出?
- javascript - 范围内的 Jquery 折扣计算
- mysql - 使用 Inner Join 消除有效冗余的条目
- android - 需要帮助在绝对没有内置程序的设备上安装应用程序来安装任何东西
- python - 在 initial_text 和 input_text django 表单后删除冒号
- c# - 可以在 Razor 中没有 MS 库的情况下代表用户获取访问令牌吗?
- entity-framework-core - 2 使用 dotnet ef dbcontext 脚手架对现有数据库进行逆向工程时创建的模型
- java - 在 Android Canvas 上禁用位图过滤
- reactjs - 挂载和卸载的 useEffect 缺少依赖项