我有一个要求,如果用户不上传图像,则默认图像应保存在数据库中,为此,我正在使用 FileField 中的默认属性,但默认图像未保存在数据库。
file = models.FileField(upload_to='photos/',default='NoImage.jpg')
答案 0 :(得分:2)
您可以这样做。给完整路径加上MEDIA_ROOT
,例如
file = models.FileField(upload_to='photos/',default='settings.MEDIA_ROOT/photos/NoImage.jpg')
但是我建议保留它null
,因为在很多用户不上传任何图像的情况下。您不必要在数据库中插入了这些数量的重复默认图像。
在您的 django-template 中,您可以处理
{% if not file %}
<img src= "{{ MEDIA_URL }}photos/NoImage.jpg">
{% endif %}
答案 1 :(得分:0)
我认为,如果未上传图片,则应将该字段留空。这将使审核和筛选更加容易。我会扔一个财产:
@property
def image_url(self):
if self.image:
return self.file.url
else:
return "default/image/path/default.jpg"