如果DEBUG = False,则不显示heroku-django上传的图像

时间:2016-09-28 06:46:11

标签: python django heroku

我在heroku上部署了我的Django应用程序。除了显示图像外,每件事情都很好。如果DEBUG = False,则不显示任何上传的图像。

settings.py

DEBUG = False

ALLOWED_HOSTS = ['salma-blog.herokuapp.com']

STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
STATIC_ROOT = os.path.dirname(myblog.__file__)+'/static/'
STATIC_URL = '/static/'

#upload images
MEDIA_ROOT= os.path.dirname(myblog.__file__)+'/static/myblog/images'
MEDIA_URL='/images/'

urls.py

urlpatterns=[
   ...
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我的模板中的图片标记

<img alt="img" src="/blog{{image}}"></a>

1 个答案:

答案 0 :(得分:0)

Whitenoise在DEBUG=True时使用static file finders,因此您很可能在静态文件收集过程中遇到问题。

将您的STATIC_ROOTMEDIA_ROOT设置更新为推荐方法,例如:

STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_ROOT = os.path.join(BASE_DIR, 'images')