接受Django默认配置文件页面中的多个图像扩展



我正试图在Django中创建一个默认的用户配置文件映像,该映像接受models.py中的BOTHjpgpng扩展。

目前jpg可以工作,但如果我将代码和实际默认图像的default.jpg更改为default.png,则图像不会显示。

有没有办法告诉Django接受这两个扩展?

class Profile(models.Model):
users = models.OneToOneField(User, on_delete=models.CASCADE)
image = models.ImageField(default='default.jpg', upload_to='profile_pics') # accept default.png 

您可以使用验证器验证文件扩展名。

from django.core.validators import FileExtensionValidator

class Profile(models.Model):
image = models.ImageField(
validators=[FileExtensionValidator(['jpg', 'png'])]
)

如果文件名本身很重要,那么您可以编写自己的验证器,或者在用户上传文件后重命名文件。