django - 如何全局告诉 Cloudinary 自动决定 Django 中的文件类型?
问题描述
我使用cloudinary作为我的 Django 项目的默认媒体存储,所以我只是这样设置它:
设置.py
INSTALLED_APPS = [
'cloudinary'
]
DEFAULT_FILE_STORAGE = 'cloudinary_storage.storage.MediaCloudinaryStorage'
CLOUDINARY_STORAGE = {
'CLOUD_NAME': os.environ.get('CLOUDINARY_STORAGE.CLOUD_NAME'), # env is set right
'API_KEY': os.environ.get('CLOUDINARY_STORAGE.API_KEY'),
'API_SECRET': os.environ.get('CLOUDINARY_STORAGE.API_SECRET'),
}
所以现在如果我想设置一个 ImageField 我没有问题,只需使用默认的 Django 语法:
image = ImageField(upload_to=get_image_upload_path,
max_length=255)
但是当我想以我的方式存储文件时,它是视频文件:
video = FileField(upload_to=get_video_upload_path,
max_length=255)
我收到此错误:Invalid image file
这意味着使用 cloudinary 存储的 Django 尝试将此文件作为图像上传,这被设置为 cloudinary 的默认行为。
所以我的问题是,是否有办法在全球范围内告诉 cloudinary自动决定文件的类型?
解决方案
推荐阅读
- c# - 如何将 xml 序列化为类
- javascript - 如何检查反应用户角色?
- python - 根据 OR 条件选择数据框行
- git - 项目结构和提交 golang 项目
- java - java - 如何使用Java中的Collection.sort lambda表达式对不确定数量的变量进行排序?
- airflow - AWS Airflow (Amazon MWAA) 上没有名为“airflow.providers.ssh”的模块
- mongodb - 通过将属性从一个合并到另一个来加入 MongoDB 中的两个集合
- arrays - 返回数组 Excel 中的范围
- javascript - 如何识别网站上的个人访问者?
- javascript - 在 GreaseMonkey/TamperMonkey 上使用 JavaScript 将箭头键重新映射到另一个键