Django如何获取TextField的前10个字符作为字符串?

时间:2019-03-10 01:29:47

标签: python django string

请原谅我的问题,我是Python和Django的初学者。

我这里有一个class Response,它继承自models.Model。字段之一是response_contentTextField。我有一个函数__str__,该函数应该返回对象的字符串表示形式。该字符串的第一部分是该对象的id,然后是一个空格分隔符,然后是字段self.author_name,然后是管道分隔符,然后我要显示{{1 }}作为字符串。我不想将整个self.response_content转储到字符串中,因为这是self.response_context中的TextField,所以它会变得很大!我只想将此字段的前10个字符显示为字符串,这样我就可以查看并立即记住这些显示的字符中max_length=4000的其余部分。这就是我可以区分各个response_content的方式。

我想用必要的表达式替换Response。我还不太了解语法,所以请不要讨厌我提出这个问题。

这是我的???文件:

models.py

3 个答案:

答案 0 :(得分:2)

您可以使用self.response_content[:10]对字符串进行切片。

在您的情况下:

def __str__(self):
    return (str(self.id) + " " + self.author_name + "|" + self.response_content[:10])

答案 1 :(得分:0)

这可以通过两种方式完成

  1. 只需按以下方式切片即可返回#!/bin/sh pushd /path/to/executable ./program.sh $@ popd
response_content
  1. 使用Django默认过滤器def __str__(self): return (str(self.id) + " " + self.author_name + "|" + self.resonse_content[:10])
truncatechars

答案 2 :(得分:0)

您可以使用 Django 中的 truncatechars 过滤器:

{{ value|truncatechars:7 }}

如果值为“Joel is a slug”,则输出将为“Joel i...”。

https://docs.djangoproject.com/en/dev/ref/templates/builtins/#truncatechars