Python 如何为字符长度生成if-else语句

Python 如何为字符长度生成if-else语句,python,django,python-3.x,Python,Django,Python 3.x,我正在尝试编写一段代码,看看文本条目是否有50个或更多字符,如果有,则只显示50个以上的省略号(…),或者如果少于50个字符,则只显示整个条目而不显示省略号 我目前的代码是: from django.db import models # Create your models here. class Topic(models.Model): """A topic the user is learning about""" text = models.CharField(max_

我正在尝试编写一段代码,看看文本条目是否有50个或更多字符,如果有,则只显示50个以上的省略号(…),或者如果少于50个字符,则只显示整个条目而不显示省略号

我目前的代码是:

from django.db import models

# Create your models here.

class Topic(models.Model):
    """A topic the user is learning about"""
    text = models.CharField(max_length=200)
    date_added = models.DateTimeField(auto_now_add=True)
    def __str__(self):
        """Return a string representation of the model"""
        return self.text

class Entry(models.Model):
    """Something specific learned about a topic"""
    topic = models.ForeignKey(Topic)
    text = models.TextField()
    date_added = models.DateTimeField(auto_now_add=True)

    class Meta:
        verbose_name_plural = 'entries'

    def __str__(self):
        if text.len() >= 50:
            """Return a string represerntation of the model"""
            return self.text[:50] + "..."
        else:
            return self.text
当我在使用Python和Django的时候运行这个程序时,我总是得到一个错误。我将如何解决此问题使用:

from django.db import models

# Create your models here.

class Topic(models.Model):
    """A topic the user is learning about"""
    text = models.CharField(max_length=200)
    date_added = models.DateTimeField(auto_now_add=True)
    def __str__(self):
        """Return a string representation of the model"""
        return self.text

class Entry(models.Model):
    """Something specific learned about a topic"""
    topic = models.ForeignKey(Topic)
    text = models.TextField()
    date_added = models.DateTimeField(auto_now_add=True)

    class Meta:
        verbose_name_plural = 'entries'

    def __str__(self):
        if len(self.text) >= 50:
            """Return a string represerntation of the model"""
            return self.text[:50] + "..."
        else:
            return self.text
而不是:

if text.len() >= 50:

您得到的错误是什么?您的上一个函数可能需要缩进…在您的上一个函数中,您需要
len(self.text)
,而不是
text.len()。请回顾并告诉我们为什么它不起作用,以及它是如何修复的。
if text.len() >= 50: