我是Django的新手,所以感谢您的帮助。 我有一个Article模型,并且我想通过为每个文章分配标签来显示相关/相似的文章。
我尝试在views.py中创建一个从self(该特定文章)继承的函数/过滤器,并过滤掉具有相同标签但没有成功的文章。
where lastmodified = getdate()
import numpy as np
import matplotlib.pyplot as plt
T = np.linspace(0.01, 4.5, 0.01)
for i in T:
N = (2.63*10**-16)*((2.71828**(6.93*i))-1)+((4.05*10**-6)*i)
plt.plot (N,T)
plt.show()
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=200, blank=True)
thumbnail = models.ImageField(max_length=200, blank=True)
tag = models.CharField(max_length=200, blank=True)
因此,每当我尝试使用此过滤器时,都不会得到结果。
答案 0 :(得分:0)
我认为related_articles
函数应该在模型类上。
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=200, blank=True)
thumbnail = models.ImageField(max_length=200, blank=True)
tag = models.CharField(max_length=200, blank=True)
def related_articles(self):
tagged = Article.objects.filter(tag=self.tag).exclude(pk=self.pk)
假设您的视图如下:
def articles(request):
articles = Articles.objects.all()
context = dict(articles=articles)
return render(request, 'app/articles.html', context)
您可能会有这样的模板:
{% if articles|length %}
{% for article in articles %}
<div>
<img src="{{ article.thumbnail.url }}">
<span>{{ article.title }}</span>
{% for related_article in article.related_articles %}
<span>{{ related_article.title }}</span>
{% endfor %}
</div>
{% endfor %}
{% endif %}