Python Heroku上上传的互联网应用程序不显示任何图形

Python Heroku上上传的互联网应用程序不显示任何图形,python,django,heroku,Python,Django,Heroku,我在heroku上上传了我的整个应用程序,但我有一个问题,没有显示任何照片。图片的路径定义如下: src="{{blog.image.url}}" 因此,观点不应仅仅局限于局部(我认为是这样) 上传应用程序后,我的django.admin视图看起来也很奇怪 任何帮助都将不胜感激!如何解决此问题(将显示待处理的图片)?我是否可以不重新上传应用程序(我的数据库已完成)?如果有人遇到同样的问题: 这为Heroku中的CSS等文件提供了支持 1.)在file settings.py中,只需添加以下代码

我在heroku上上传了我的整个应用程序,但我有一个问题,没有显示任何照片。图片的路径定义如下:

src="{{blog.image.url}}"
因此,观点不应仅仅局限于局部(我认为是这样)

上传应用程序后,我的django.admin视图看起来也很奇怪


任何帮助都将不胜感激!如何解决此问题(将显示待处理的图片)?我是否可以不重新上传应用程序(我的数据库已完成)?

如果有人遇到同样的问题:

这为Heroku中的CSS等文件提供了支持

1.)在file settings.py中,只需添加以下代码:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.9/howto/static-files/
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'

# Extra places for collectstatic to find static files.
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)
现阶段的重要环节:

提供多媒体显示

2.)在settings.py中添加:

#<-------------Elements Amazon S3 Beginning --------->

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'reviews/static'),
] #ok

AWS_ACCESS_KEY_ID = 'YYY'
AWS_SECRET_ACCESS_KEY = 'XXX'
AWS_STORAGE_BUCKET_NAME = 'name'
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME

AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400',
}

#AWS_LOCATION = 'static' #ok
#STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' #OK
#STATIC_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION) # już wystęuje

DEFAULT_FILE_STORAGE = 'winerama.storage_backends.MediaStorage'  # <-- here is where we reference it

#<-------------Elements Amazon S3 END -------------->
*当然,我们还必须创建亚马逊3s帐户

现阶段的重要环节: (非常好的教程,介绍如何使用Amazon3s处理媒体文件和静态文件)

2.2)在向Heroku添加应用程序时,我也会使用以下命令:

heroku config:set AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=YYY
heroku config:set S3_BUCKET_NAME=s'name'
现阶段的重要环节:

3)在部署时,它帮助了我 (我认为该链接很有帮助,但部署整个应用程序可以在论坛中帮助我回答以下问题)

  • 在部署期间禁用collectstatic

    heroku配置:设置禁用\u COLLECTSTATIC=1

  • 部署

    git推送heroku主机

  • 运行迁移(django 1.10至少添加了一个)

    heroku运行python manage.py migrate

  • 使用bower运行静态

    heroku run'bower安装--config.interactive=false;咕噜准备;python manage.py collectstatic--noinput'

  • 为将来的部署启用collecstatic

    heroku配置:取消设置禁用\u COLLECTSTATIC

  • 自己尝试(可选)

    heroku运行python manage.py collectstatic

  • 声明的作者tomconsell 链接:


    请原谅我的英语不好。

    您需要检查并确保您的应用程序是通过这些很棒的说明配置的。幸运的是,它相对容易。是否显示我需要的这些文件,例如Amazon S3或类似的东西?这解释了使用aws S3托管静态资产,如果这是您希望做的,如果您第一次确定您的应用程序通过我提到的第一个链接提供静态文件,并且这一部分让您感到困惑,请告诉我您是否难以实现此目标。我还将让您参考这3个链接,以检查代码库的每一部分:,和。希望这些都能帮助你,让你工作。非常感谢你的帮助!一切正常!
    heroku config:set AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=YYY
    heroku config:set S3_BUCKET_NAME=s'name'