2016-01-22 79 views
2

我发了一个JSON串行器to查看。我回到这就是所谓entries看起来详情如下,POST参数一个QuerySet对象:在Django的视图中是否有一种方法可以截断单词?

entries = blog.models.Entry.objects.filter(content__icontains=request.POST.get('q')) 

然后我用serializersdjango.core

serializers.serialize("json", entries, fields=('title', 'content', 'created')) 

这个工程就像一个魅力,但是,我想回到content s转换截断的话。


环境

  • 的Django 1.8.7
  • 的Python 3.4

回答

2

可以使用Truncator类从django.utils.text,例如:

> 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

+0

尽管此代码可能回答此问题,但提供有关此代码为何和/或如何回答此问题的其他上下文可提高其长期价值。不鼓励使用仅有代码的答案。 – Ajean

+1

谢谢@Ajean - 我添加了一些上下文。 – Dave

+0

谢谢你提供的答案。 –

相关问题