image - 在 Django 默认配置文件页面中接受多个图像扩展
问题描述
我正在尝试在 Django 中创建一个默认用户配置文件图像,该图像 jpg
同时png
接受models.py
.
目前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'])]
)
如果文件名本身很重要,那么您可以编写自己的验证器或在用户上传文件后重命名文件。
推荐阅读
- python - 如何使用 python 控制 Windows 中的特定 USB 端口?
- rest-assured - 使用嵌套对象访问 jsonpath 元素
- json - 如何在 jq 中将嵌套的 json 转换为平面 csv
- google-app-engine - 如何在 App Engine Flex 上安装 Redis Slave
- vba - VBA:从定义的单元开始循环
- python-3.x - 'Channel' 对象在调用 prediction_service_pb2_grpc.PredictionServiceStub(channel) 时没有属性 'unary_unary' 错误
- react-native - React Native => redux-saga 迁移的不变违规
- java - 如果我不希望前 10 个字符为“0”,如何使用 java 正则表达式捕获字符串
- c++ - 如何理解我的 valgrind 错误消息?
- java - 在android studio中需要一些帮助