指定要显示的文本行

时间:2018-06-25 15:46:46

标签: python flask jinja2

我想预览我的文章。如何选择TextField的前几行?我正在使用烧瓶和wtforms。

class Blog(Model):
    content = TextField()

模板:

{{blog.content}}

但是如何指定要显示的前几行呢?例如,仅显示4行。 blog.content(rows = 4)

1 个答案:

答案 0 :(得分:0)

如果blog.content由换行符分隔的行组成,则可以按换行符拆分内容并返回前四个元素,并加入:

>>> content = 'One\nTwo\nThree\nFour\nFive\nSix'
>>> parts = content.split('\n')
>>> preview = '\n'.join(parts[:4])
>>> preview      # use this in the template {{ preview }}
'One\nTwo\nThree\nFour'

如果blog.content不包含由换行符分隔的行,则可以使用jinja2的truncate过滤器,该过滤器将输出blog.content的前n个字符 ,其中n是您选择的一些数字。如果单词中间出现截断,truncate会丢弃该单词。

{{ blog.content|truncate(100) }}