【问题标题】:Django cannot serve uploaded media in production pythonanywhereDjango 无法在生产 pythonanywhere 中提供上传的媒体
【发布时间】:2017-09-29 06:16:29
【问题描述】:

在开发阶段成功为上传的媒体(图像)提供服务并在页面中查看后,我在生产服务器中努力实现这一目标,部署对我来说似乎太难了。 使用 Pythoneverywhere 平台我总是找不到错误:

2017-05-01 19:22:48,923:未找到:/media/I am title/31.jpeg

不仅针对这张特定的图片,还针对我上传的每张图片。

这是我的设置文件(这里省略了一些细节不是必需的):

import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

DEBUG = False

STATIC_URL = '/static/' # origin of permanent static files
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn") # temporarly loc

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


STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    #'/var/www/static/',
]

这是我的 wsgi 文件 导入操作系统

from django.core.wsgi import get_wsgi_application
from django.contrib.staticfiles.handlers import StaticFilesHandler

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

application = get_wsgi_application()
application = StaticFilesHandler(application)

它只是不起作用,我试图添加这一行(不推荐在文档中)

static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

仍然没有解决问题。但是,当我浏览平台时,我可以在目标文件夹中找到上传的媒体!

我已经 2 天了,我只是在尝试部署应用程序并让它工作,但我做不到

这里是平台配置

【问题讨论】:

    标签: django deployment pythonanywhere


    【解决方案1】:

    我发现我错过了一个子目录来到达我想要的目录(如图所示)......终于!!

    【讨论】:

      猜你喜欢
      • 2014-05-15
      • 2013-03-20
      • 1970-01-01
      • 2020-12-31
      • 2022-01-04
      • 1970-01-01
      • 2017-07-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多