有没有办法在Django的视图中截断单词?
Posted
技术标签:
【中文标题】有没有办法在Django的视图中截断单词?【英文标题】:Is There A Way to Truncate by Words in View in Django? 【发布时间】:2016-04-29 02:44:47 【问题描述】:我制作了一个 JSON 序列化程序 to
视图。我返回了一个名为 entries
的 QuerySet
对象,它查找 POST 参数,如下所示:
entries = blog.models.Entry.objects.filter(content__icontains=request.POST.get('q'))
然后我从django.core
使用serializers
。
serializers.serialize("json", entries, fields=('title', 'content', 'created'))
这就像一个魅力,但是,我想将content
s 返回为截断的单词。
环境
Django 1.8.7 Python 3.4【问题讨论】:
【参考方案1】:您可以使用django.utils.text
中的Truncator
类,例如:
> from django.utils.text import Truncator
> my_text = "Lorem ipsum dolor sit amet"
> n_words = 3
> truncated_text = Truncator(my_text).words(n_words)
> print(truncated_text)
Lorem ipsum dolor...
Truncator
还可以截断为多个字符,并且可以解析 html 以及纯文本。虽然官方文档似乎缺失,但源代码的解释性非常好,请参阅:https://github.com/django/django/blob/master/django/utils/text.py
【讨论】:
虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。不鼓励仅使用代码回答。 感谢@Ajean - 我添加了一些上下文。 感谢您提供答案。 我如何才能将它与休息框架Serializer
一起使用?以上是关于有没有办法在Django的视图中截断单词?的主要内容,如果未能解决你的问题,请参考以下文章