Django无法在生产pythonanywhere中提供上传的媒体

时间:2017-05-01 20:07:31

标签: django deployment pythonanywhere

在开发阶段成功服务媒体上传(图片)并在页面中查看它,我在生产服务器中实现这一点并且部署似乎很难对我来说。 使用Pythoneverywhere平台我总是找不到错误:

2017-05-01 19:22:48,923:未找到:/ media /我是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文件 mport os

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天,让它工作我无法

这是平台配置 img

1 个答案:

答案 0 :(得分:1)

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