[英]In production Django {{object.image.url}} not working in production. How to show image/MEDIA_ROOT/ in production?
[英]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">
這是問題所在,我在管理部分上傳了圖片,然后效果很好,但是突然過了幾分鍾,圖片從網站上消失了,出現了以下錯誤:
Not Found:/media/tdscampeonatos_rzFCbET.jpg
然后我在github的項目中添加了一個媒體庫,其中包含我上傳的圖像:
然后,我添加到媒體存儲庫中的圖像起作用了,但是我沒有添加的圖像仍然不起作用。 我上載了更多圖像,但由於沒有將圖像直接轉到在Github存儲庫中創建的媒體路徑,因此出現了相同的錯誤。 5天試圖解決這個問題,我已經在互聯網上尋找幾乎所有內容。 請幫我!
您正在部署在heroku上。 可能是業余愛好計划。 按照此計划,該應用程序將在不活動時進入睡眠狀態,然后在訪問時重新部署。 因此,上次運行期間創建的媒體文件將被刪除
您應該升級計划或考慮使用第三方存儲(例如cloudinary)來存儲媒體
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.