簡體   English   中英

在heroku中使用dj-static提供媒體文件

[英]serving media files with dj-static in heroku

我正在嘗試提供在django-admin中注冊的媒體文件。

通過api錯誤訪問圖像404時找不到。

我進行了配置,作為推薦的文檔 ,但是在heroku中不起作用。

settings.py

import os
from decouple import config, Csv
from dj_database_url import parse as dburl

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

SECRET_KEY = config('SECRET_KEY')

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = config('DEBUG', default=False, cast=bool)

ALLOWED_HOSTS = config('ALLOWED_HOSTS', default=[], cast=Csv())

default_dburl = 'sqlite:///' + os.path.join(BASE_DIR, 'db.sqlite3')
DATABASES = {
    'default': config('DATABASE_URL', default=default_dburl, cast=dburl),
}

(......)

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

wsgi.py

import os
from dj_static import Cling, MediaCling
from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "integrafundaj.settings")

application = Cling(MediaCling(get_wsgi_application()))

requirements.txt

dj-database-url==0.4.2
dj-static==0.0.6
Django==1.11.3
djangorestframework==3.7.7
easy-thumbnails==2.4.2
olefile==0.44
Pillow==4.3.0
python-decouple==3.1
pytz==2017.3
static3==0.7.0
Unidecode==0.4.21
gunicorn==19.4.1
psycopg2==2.7.1

我遇到了同樣的問題,並通過將我在models.py上的路徑更改為其他路徑來解決了該問題。它已配置為通過media / images / img.jpg訪問 ,但是使用dj-static的頁面正在從與靜態文件相同的文件夾結構,應位於myapp / media / images / img.jpg (靜態文件是同一件事,但使用static而不是media )。

進行此更改后,將圖像重新上傳到新文件夾后,一切正常! (請記住將myapp更改為您的應用名稱)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM