Python 如何为字符长度生成if-else语句
我正在尝试编写一段代码,看看文本条目是否有50个或更多字符,如果有,则只显示50个以上的省略号(…),或者如果少于50个字符,则只显示整个条目而不显示省略号 我目前的代码是: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_
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: