在 django 模板中拆分字符串

Posted

技术标签:

【中文标题】在 django 模板中拆分字符串【英文标题】:Split a string in django template 【发布时间】:2020-11-11 23:51:45 【问题描述】:

我将标签存储为模型中以逗号分隔的字符串,我试图在模板中打印这些标签,但它不起作用我尝试了Django templates - split string to array 答案,但它也不起作用没有打印任何内容,并且函数 tags_as_list 是也没有运行

型号

class News(models.Model):
 link = models.TextField()
 headline = models.TextField()
 summary = models.TextField()
 tags = models.TextField(blank=True)
 time_date = models.DateTimeField(auto_now_add=True)

def tags_as_list(self):
    print("tagsss")
    return self.tags.split(',')

模板

% for tag in news_item.tags.tags_as_list %
 tag 

% endfor %

【问题讨论】:

【参考方案1】:

我没有正确使用该功能,它可以直接访问您不必自己提及的字段

% for tag in news_item.tags_as_list %
 tag 
% endfor %

【讨论】:

【参考方案2】:

您定义的方法tags_as_list 是正确的,但是在模板中您没有正确调用它。

假设news_itemNews 的一个实例,您应该调用news_item.tags_as_list,因为该方法不在tags 上,而是在模型上。

【讨论】:

以上是关于在 django 模板中拆分字符串的主要内容,如果未能解决你的问题,请参考以下文章

Django 使用模板标签拆分文本字段

html模板django python中带有拆分的子字符串

Django模板将字符串分成两部分

JavaScript 拆分字符串变量(不使用任何额外变量)

如何在 django 模板中连接字符串?

django模板 - 在字符串变量中解析变量