[英]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.