我有一个系统可以从数据库中提取 HTML 内容,它看起来像这样:
<p>This is some text</p>
<p>More text</p>
<p>Third Paragraph</p>
在显示时,它会显示博文内容的简短摘要,但现在在显示文本时,我已将字符限制设置为 200 之类的数字,这将导致摘要如下所示:
<p>This is some text</p>
<p>More text</
在任何地方切断内容,可能会破坏网页的其余部分。
python中有没有办法关闭所有打开的标签或只获取一定数量的顶级 block ?例如,2 个 block 将是前两个 <p></p>
标签。我看到 word press 在显示文章的简短预览时有这个功能。
最佳答案
如果您需要在模板中执行此操作,请查看 truncatewords-html:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#truncatewords-html
或者您可以在其他地方使用底层 django.utils.text.Truncator
类 ( https://github.com/django/django/blob/1.7/django/utils/text.py#L65 ),如果您需要一些自定义行为,请使用该代码作为引用,它应该适用于大多数用例自己实现。
更新:
如果你需要直接使用django.utils.text.Truncator
,这就是你如何实例化和调用words()
方法(这正是truncatewords- html 过滤器)
Truncator(value).words(length, html=True, truncate=' ...')
关于python - 缩短 HTML 内容 python/django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15847315/