Почему я получаю эту TypeError в Django Cloudinary при выполнении Debug=False?
Итак, у меня есть проект Django, использующий django-cloudinary-storage
для медиафайлов, развернутый на Heroku.
Я знаю, что это глупо, но я запускал приложение с Debug=True. Все было в порядке, все статические и медиафайлы обслуживались отлично.
Но потом я понял, что это критически важно для безопасности моего приложения, поэтому я повторно развернул его с Debug=False. Тогда я получил сообщение об ошибке TypeError: expected str, bytes or os.PathLike object, not NoneType
(Полный отслеживание внизу)
.
Позвольте мне показать вам мой settings.py. Я не вижу, что я сделал неправильно, но я продолжаю получать ошибку. Как вы думаете, в чем проблема?
(...)
STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / 'staticfiles'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATICFILES_STORAGE = 'cloudinary_storage.storage.StaticHashedCloudinaryStorage'
STATICFILES_FINDERS = [
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
CLOUDINARY_STORAGE = {
'CLOUD_NAME' : '', # some string
'API_KEY' : config("CLOUDINARY_API_KEY"),
'API_SECRET' : config("CLOUDINARY_API_SECRET"),
}
DEFAULT_FILE_STORAGE = 'cloudinary_storage.storage.MediaCloudinaryStorage'
И у меня также есть это в моем urls.py
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Полное отслеживание.