我正在尝试在我的Django应用程序中添加图像到我的模型中。
models.py
class ImageMain(models.Model):
"""This is the Main Image of the product"""
product = models.ForeignKey(Product)
photo = models.ImageField(upload_to='products')
在开发模式下,每次我尝试通过Django admin上传图像时,我都会收到:
Upload a valid image
这简直要了我的命!
我正在使用django-filebrowser,我想创建一个画廊应用程序,利用它的上传功能来管理图像。
我有一个gallery模型,它允许用户在服务器上选择或创建一个目录,并将文件上传到该文件夹以显示在图库中。我希望自动搜索用户已将图像上传到并选择的目录,然后自动为文件夹中的每个图像创建Image实例。
class Gallery(model.Models):
gallerydirectory = FileBrowserField(...)
title = ...
description ...
class Image(model.Models):
了解到我可以在Django的ImageField验证器中添加一个验证器来限制文件扩展名类型,如下所示。但是在通过Admin上传显示的错误信息方面,如果我上传一个非图像类型,我仍然会看到标准文件类型列表(通过PIL允许的类型)。如果我上传的图片类型不是在我的自定义allowed_extensions下面,我会看到我的自定义消息。我如何覆盖Django的默认ImageField处理,并显示我的自定义错误消息,无论上传哪种类型的文件(例如,在下面的示例中,除了.png之外的任何文件都被上传)?
class MM(models.Model):
file_extension_validator