【发布时间】:2021-05-26 23:20:31
【问题描述】:
您好,我正在尝试为 Django 中的待办事项列表设置默认图像。我在 static/images 下有一张图片。 现在我正在尝试添加一个可以添加任务的功能。在这个功能中,我可以选择一个图像。如果未选择任何图像,则该图像将成为默认图像 ex。占位符.png
我尝试在 models.py 中创建一个 if else 循环,但这也不起作用。显示所选图像确实有效。
models.py:
class Product(models.Model):
name = models.CharField(max_length=200, null=True)
price = models.FloatField()
description = models.CharField(max_length=255, null=True)
image = models.ImageField(null=True, blank=True)
technologie = models.CharField(max_length=255, null=True)
def __str__(self):
return self.name
@property
def imageURL(self):
if self.image:
return self.image.url
else:
return "static/images/Placeholder.png"
现在我的问题是如何将静态目录中的 Placeholder.png 设置为 ImageField 的默认值?
【问题讨论】:
-
应该有一个前导斜杠
"/static/images/Placeholder.png"(或者它是当前路径的相对路径)或者更好,使用模板标签static("images/Placeholder.png")。这样,如果您更改了STATIC_URL设置,它仍然可以工作。另外,不要忘记manage.py collectstatic,因为默认图片是静态资源,而上传的是媒体。 -
谢谢,我会试试那个解决方案!
-
@schwobaseggl 感谢领先的斜线工作!也许您想发表您的评论作为答案?
标签: python django django-models static