簡體   English   中英

在 Django 模板中渲染空白 ImageFields

[英]Rendering blank ImageFields in Django template

我正在嘗試在我的模板中呈現此模型的實例:

class Candidate(models.Model):
    UserID = models.ForeignKey(User, on_delete=models.CASCADE)
    ElectionID = models.ForeignKey(Election, on_delete=models.CASCADE)
    Bio = models.CharField(max_length=500, blank=True)
    Poster = models.ImageField(upload_to="profilepics/", null=True, blank=True)

我在渲染海報屬性時遇到問題,如您所見,可以選擇為空白。

當我嘗試在模板中呈現以下 html 時:

<h1>{{candidate.UserID.first_name}} {{candidate.UserID.last_name}} ({{candidate.UserID.username}})</h1>
<h2>{{candidate.ElectionID}}</h2>
<img src="{{candidate.Poster.url}}" width=240><br>

如果Poster為空白,我會收到錯誤消息。

ValueError:“海報”屬性沒有與之關聯的文件。

如何防止此錯誤? 如果Poster是空白的,我不想顯示任何內容,如果不是,則顯然顯示圖像。

使用if條件。

<h1>{{candidate.UserID.first_name}} {{candidate.UserID.last_name}} ({{candidate.UserID.username}})</h1>
<h2>{{candidate.ElectionID}}</h2>
{% if candidate.Poster %}
    <img src="{{candidate.Poster.url}}" width=240>
{% endif %}
<br>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM