我使用以下模型上传图片:
class Image(models.Model):
title = models.CharField(max_length=20)
upload = models.ImageField(upload_to='uploads/img/')
page = models.ForeignKey(Page, blank=True, null=True, on_delete=models.SET_NULL)
description = models.CharField(max_length=140)
def __str__(self):
return self.title
在开发中,我可以使用管理页面进行上传而没有任何问题,但是由于生产中的某些原因,它给了我错误:
https://i.imgur.com/OhyvPzw.png
我很沮丧,特别是因为我可以使用以下模型上传它,而不会在生产中出现任何问题:
class Document(models.Model):
title = models.CharField(max_length=20)
upload = models.FileField(upload_to='uploads/docs/')
page = models.ForeignKey(Page, blank=True, null=True, on_delete=models.SET_NULL)
description = models.CharField(max_length=140)
def __str__(self):
return self.title
我尝试无条件搜索错误,而我能找到的最好的方法是文件验证,我认为这首先是使用ImageField的目的!
答案 0 :(得分:1)
我认为这是可行的,如果您像这样更改图像模型:
from django.core.validators import FileExtensionValidator
class Image(models.Model):
title = models.CharField(max_length=20)
upload = models.ImageField(upload_to='uploads/img/', validators=[FileExtensionValidator(['jpg'])])
page = models.ForeignKey(Page, blank=True, null=True, on_delete=models.SET_NULL)
description = models.CharField(max_length=140)
def __str__(self):
return self.title