在Django视图中用BR标签替换纯文本中的换行符

1 投票
2 回答
5197 浏览
提问于 2025-04-18 11:58

Django 提供了一个叫做 linebreaks 模板标签 的功能,它的作用和 PHP 的 nl2br 函数很相似。

这个功能运行得很好,但每次请求都会处理给定的文本,这样会浪费资源。我更希望在把文本保存到数据库之前,就处理一次。

在 Django 的视图中,有没有类似的功能可以使用呢?

2 个回答

9

linebreaks这个模板标签其实就是对django.utils.html里面的换行函数的一个包装,所以你可以直接使用那个函数。

2

其实,如果你把数据存储在数据库里,那么额外的查询会让你的请求响应时间变得更长,这样反而比你通过缓存一些高效的Python文本转换所节省的时间要多得多。

一个更好的解决办法是缓存视图。Django提供了很多非常灵活的缓存方案

不要成为那个过早优化的人,尤其是那些微小的优化。大部分时间都是在等待数据库的响应或者网络延迟。

撰写回答