有人可以指出我正确的方向吗?以下是我一直在做的事情
<p>{{article.snippet}}</p>
<p>{{article.date}}</p>
<p>{{article.retrieve_by_category("web")}}</p>
获取日期或摘要没有问题,但是尝试运行article.retireve_by_category
时仍然出现以下错误。
无法解析其余部分:'(“ web”)'from'article.retrieve_by_category(“ web”)'
下面是该模型的代码:
class Article(models.Model):
category = models.CharField(max_length=100)
title = models.CharField(max_length=100)
slug = models.SlugField()
body = models.TextField()
date = models.DateTimeField(auto_now_add=True)
#add in thumbnail
def __str__(self):
return self.title
def snippet(self):
return self.body[:500] + "..."
def retrieve_by_category(self,category):
"""retrieves blogs based on their category"""
if (str(self.category) == category):
return self.category
return ''
答案 0 :(得分:1)
您不能在模板内调用函数。最好在您的视图中进行处理,下面是一个简单的示例:
def your_view(request):
article = Article.objects.filter(category="web")
return render(request, "/toyourtemplate", {'web':article})
如果要使类别动态用户输入,可以使用Django表单
答案 1 :(得分:0)
不能使用类似于模板标签的功能
<p>{{article.snippet}}</p>
<p>{{article.date}}</p>
<p>{{article.retrieve_by_category("web")}}</p> # this is wrong
您可以改成custom template tags。