【发布时间】:2021-02-08 07:53:00
【问题描述】:
“缩略图”属性没有与之关联的文件。
我在我的 HTML 列表中尝试了 Django {% if %} {% else %} {% endif %} 并且它在页面上工作,但是当我对 detailview HTML 执行相同操作时它不起作用并返回"'Thumbnail' 属性没有与之关联的文件。"
** Models.py **
class Article(models.Model):
Title = models.CharField(max_length=150)
Thumbnail = models.ImageField(blank=True, null=True)
Author = models.ForeignKey(Author, on_delete=models.CASCADE)
Content = QuillField()
Date = models.DateField(auto_now_add=True)
slug = AutoSlugField(populate_from='Title')
** Views.py**
class ArticlesDetailView(DetailView):
model = Article
template_name = 'articles_app/articles_detail.html'
def get_context_data(self, **kwargs):
latest = Article.objects.order_by('-id')[0:3]
context = super().get_context_data(**kwargs)
context['latest'] = latest
return context
** HTML - 列表 (articles_list.html) ** 它在这里工作得非常好!!!
<img src=" {% if articles.Thumbnail %}
{{ articles.Thumbnail.url }}
{% else %}
{% static 'img/add-ons/article_thumbnail_default.jpg' %}
{% endif %} " alt="..." class="card-img-top">
** HTML - 详细信息 (articles_detail.html) ** 在这里不起作用。
{% for obj in latest %}
<img src="{% if obj.Thumbnail %}
{{ obj.Thumbnail.url }}
{% else %}
{% static 'img/add-ons/article_thumbnail_default.jpg' %}
{% endif %} " alt="..." class="card-img-top">
{% endfor %}
我做错了什么?请帮忙!
【问题讨论】:
-
您可能还试图在其他地方访问该属性。
-
是的,我正在尝试在每个文章详细信息页面上获取最新的 3 篇文章。