无法在 django admin 中从 cloudinary 打开原始文件
Cannot open raw files from cloudinary in django admin
我确实将原始文件的存储配置为 candinary,但我无法在 django 管理中打开它(显示 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 并提供您的云名称和有关您的用例的更多详细信息,我们可以取消对您帐户的此限制。
最好的,
雪莉
我确实将原始文件的存储配置为 candinary,但我无法在 django 管理中打开它(显示 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 并提供您的云名称和有关您的用例的更多详细信息,我们可以取消对您帐户的此限制。
最好的, 雪莉