繁体   English   中英

Django-生产中的媒体无法正常工作

[英]Django - Media in production is not working

我的静态文件运行良好,但是我的媒体文件有问题。 我已经在heroku中部署了我的网站,并且该网站已经投入生产。 (DEBUG = False)看一下代码:

settings.py

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DEBUG = bool(os.environ.get('DJANGO_DEBUG', True))
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    # '/var/www/static/'
]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
MEDIA_URL = '/media/'
import dj_database_url
db_from_env = dj_database_url.config(conn_max_age=500)
DATABASES['default'].update(db_from_env)
STATICFILES_STORAGE = 
'whitenoise.storage.CompressedManifestStaticFilesStorage'

urls.py

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, 
document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, 
document_root=settings.MEDIA_ROOT)

models.py

cartaz = models.FileField(default='/static/images/logo.jpg')

的index.html

<img src="{{campeonato.cartaz.url}}" class="img-responsive">

我的Github存储库

这是问题所在,我在管理部分上传了图片,然后效果很好,但是突然过了几分钟,图片从网站上消失了,出现了以下错误:

Not Found:/media/tdscampeonatos_rzFCbET.jpg

然后我在github的项目中添加了一个媒体库,其中包含我上传的图像:

添加媒体后,我的Github存储库

然后,我添加到媒体存储库中的图像起作用了,但是我没有添加的图像仍然不起作用。 我上载了更多图像,但由于没有将图像直接转到在Github存储库中创建的媒体路径,因此出现了相同的错误。 5天试图解决这个问题,我已经在互联网上寻找几乎所有内容。 请帮我!

您正在部署在heroku上。 可能是业余爱好计划。 按照此计划,该应用程序将在不活动时进入睡眠状态,然后在访问时重新部署。 因此,上次运行期间创建的媒体文件将被删除

您应该升级计划或考虑使用第三方存储(例如cloudinary)来存储媒体

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM