首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在heroku中使用dj-static提供媒体文件

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

Stack Overflow用户
提问于 2018-02-01 22:36:32
回答 1查看 586关注 0票数 2

我正在尝试提供在django-admin中注册的媒体文件。

当通过api访问图像时,错误404找不到。

我将其配置为推荐的documentation,但在heroku中不起作用。

settings.py

代码语言:javascript
复制
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),
}

(...)

代码语言:javascript
复制
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

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

wsgi.py

代码语言:javascript
复制
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

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2018-07-08 11:43:38

我也有同样的问题,并通过将我在models.py上的路径更改为不同的路径来修复它。它被配置为通过media/images/img.jpg,访问它,但使用dj-static的页面是从与静态文件相同的文件夹结构中请求它的,静态文件应该位于myapp/media/images/img.jpg (静态文件也是一样的,但使用静态而不是媒体)。

在此更改之后,并将图像重新上传到新文件夹后,一切工作正常!(请记住将myapp更改为您的应用程序的名称)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48565253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档