django - 无法在 django admin 中从 cloudinary 打开原始文件
问题描述
我确实将原始文件的存储配置为 caninary,但无法在 django admin 中打开它(显示 404 错误)。我错过了什么?
我在setting.py中设置了存储位置,如下:
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'),]
MEDIA_URL = '/media/'
DEFAULT_FILE_STORAGE = 'cloudinary_storage.storage.MediaCloudinaryStorage'
DEFAULT_FILE_STORAGE1 = 'cloudinary_storage.storage.RawMediaCloudinaryStorage'
CLOUDINARY_STORAGE = {
'CLOUD_NAME': 'XXXXX',
'API_KEY': 'XXXXXX',
'API_SECRET': 'XXXX-XXXXX',
}
CKEDITOR_UPLOAD_PATH = DEFAULT_FILE_STORAGE
CKEDITOR_CONFIGS = {
'default': {
'toolbar': None,
},
}
添加到 urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('team_profile.urls')),
path('ckeditor/', include('ckeditor_uploader.urls')),
]+ static(settings.MEDIA_URL, document_root=settings.DEFAULT_FILE_STORAGE)
在 models.py 中设置原始文件的上传路径:
from django.db import models
from django.utils import timezone
from ckeditor_uploader.fields import RichTextUploadingField
from cloudinary_storage.storage import RawMediaCloudinaryStorage
class apply_position(models.Model):
name = models.CharField(max_length=200)
phone = models.CharField(max_length=8)
mail = models.EmailField(blank=False)
file = models.FileField(upload_to='add/file_save/', null=False, storage=RawMediaCloudinaryStorage())
time = models.DateTimeField(default=timezone.now)
def __str__(self):
return self.name
forms.py 很好,我已经把它放到了 views.py
def recruit(request):
form = addForm(request.POST or None, request.FILES or None)
if request.method == 'POST':
if form.is_valid():
form.save()
return redirect('/')
else:
form = addForm()
当我尝试在管理站点中打开文件时遇到的错误:
https://res.cloudinary.com/xxxxx/raw/upload/v1/media/add/file_save/xxxx.pdf
HTTP ERROR 404
解决方案
Cloudinary 中的 PDf 被视为图像文件。您能否尝试上传它们并让我们知道这是否有帮助?此外,根据我们安全政策的最新更新,我们限制了新创建的 PDF 和存档文件免费帐户的交付。此类文件仍然可以上传,但具体限制在交付上。
如果您有免费帐户,请联系 support@cloudinary.com 并提供您的云名称和有关您的用例的更多详细信息,我们可以取消对您帐户的此限制。
最好的,雪莉
推荐阅读
- html - 如何通过powershell从HTML文件中删除一列
- javascript - 将“this”引用到数组
- sql - 使用相关筛选筛选 SQL Server 数据
- azure - 如何在 Azure API 管理策略中读取 SOAP 消息并创建变量
- javascript - 警告:React.createElement:类型无效——需要一个字符串或一个类/函数,但得到:未定义
- python - 如何随机更改数组的索引?
- vue.js - vue router-link 是否有(标准)方法可以使用不同的键或数据刷新相同的路由?
- jmeter - 是否可以在 Fiddler 工具中捕获 NeoLoad 脚本重播?
- r - 尝试使用 tidyverse 库时出错
- discord.js - 当您拥有频道和消息 ID 但没有原始消息对象时,如何通过 discrod.js 访问不和谐消息?