【问题标题】:The 'Thumbnail' attribute has no file associated with it. Django {% if %} {% else%} {% endif %}“缩略图”属性没有与之关联的文件。 Django {% if %} {% else%} {% endif %}
【发布时间】: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 篇文章。

标签: python html django


【解决方案1】:

尝试object.Thumbnail 而不是obj.Thumbnail,我认为这会解决您的问题。

【讨论】:

  • 我尝试了很多变体,但仍然无法正常工作。困扰我的是,我的 if/else 在我的文章列表页面中有效,但是当我进入文章详细信息页面时,我有一个部分显示最新的 3 篇文章,并且缩略图没有通过 if/else。所以我必须摆脱 if/else 并在我的模型中强制使用图像,因为我已经没有时间了。
猜你喜欢
  • 1970-01-01
  • 2018-04-28
  • 2016-02-06
  • 2022-12-11
  • 2015-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-20
相关资源
最近更新 更多