2014-09-26 3 views
0

Я реализую приложение для блога в django, используя zinnia. Блог отлично работает на локальном сервере, но при развертывании в heroku изображения не загружаются.Изображения не загружаются в приложении heroku, используя блог django-zinnia

Мои настройки файла, как это,

DEBUG = False 
import os 
BASE_DIR = os.path.dirname(os.path.abspath(__file__)) 
STATIC_ROOT = 'staticfiles' 
STATIC_URL = '/static/' 

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, '..', 'static'), 
) 

MEDIA_URL = '/media/' 

MEDIA_ROOT = os.path.join(BASE_DIR, '..', 'media') 
ZINNIA_UPLOAD_TO = 'media/uploads/zinnia' 
+0

, когда «Бригадир» вы можете в состоянии загрузить.? –

+0

Да. Я могу отлично работать на локальном сервере. –

ответ

3

Сохранение статических/мультимедийных файлов на серверах Heroku является проблематичным и обескуражен. Есть обходные пути, но проще использовать альтернативу их размещению. Кроме того, когда дино задано, файлы на Heroku будут удалены.

Наиболее часто используемым решением является использование веб-службы для хранения ваших файлов. В моих собственных попытках собрать статические и мультимедийные файлы непосредственно на серверах Heroku (в том числе с Zinnia) изображения будут отображаться как сломанные/отсутствующие ссылки. Поскольку файлы изображений Zinnia собираются через collectstatic (который запускается каждый раз, когда вы нажимаете на Heroku), это ожидаемое поведение.

Для обоих простоты использования и производительности вы должны служить staticfiles из другого источника, такого как AWS S3, как подробно здесь- https://devcenter.heroku.com/articles/s3

Обратите внимание: Whitenoise library замечательный способ служить статические/медиаданных непосредственно из Heroku. Это быстро, легко настраивается и очень стабильно. Когда вы ожидаете наличия огромного хранилища файлов, это может быть не самое лучшее, но для относительно небольшого сайта это горох и морковь.

См also- Serve static files on heroku using AWS S3 for django? http://agiliq.com/blog/2014/06/heroku-django-s3-for-serving-media-files/

+0

Могу ли я загружать медиафайлы в s3 bucket бесплатно или Есть ли бесплатные услуги для прямой загрузки с герою? – Simplans

3

мне нужно Amazon AWS, чтобы сделать это в течение длительного срока. Но моя первоначальная ошибка состояла в том, что я не включил эту строку

MEDIAFILES_DIRS = (MEDIA_ROOT) 

После включения этого я мог загружать изображения. Но после каждого нажатия на герою эти изображения будут потеряны.

Так я должен был использовать Amazon ASW для хранения изображений, так что даже после того, как я нажимаю на Heroku, я могу просматривать медиа-файлы

Смежные вопросы