Django没有将媒体文件写入生产中的目录

时间:2016-06-01 04:52:18

标签: python django nginx

我很难过。我在运行nginx的Ubuntu服务器上设置了一个Django站点,它在开发上运行良好。这不是我成功部署的第一个或第二个Django站点,因此我基本上只是复制和粘贴设置。问题是,我的媒体文件无法上传,即使是来自管理员。它表示它没有错误,保存后,它显示媒体文件的“链接”。但那里什么都没有。我得到404,如果我去服务器上的媒体目录,没有创建任何东西,无论是子目录还是图像文件。

我检查了媒体设置,文件路径正确。 settings.MEDIA_ROOT正确指向我的媒体目录。我想知道这是否是权限错误,但我已将媒体文件夹设置为777而没有运气。但是,Django将直接显示我上传到目录的媒体文件。

任何建议都会有所帮助。

更新:所以我进行了服务器搜索,发现我的文件正在上传2级以上。

我的MEDIA_ROOT正确指向var\www\sk\src\media但他们正在上传到var\www\media

这是我的设置。

BASE_DIR = os.path.abspath(os.path.join(os.path.dirname('__file__'), '..'))
PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
sys.path.insert(0, os.path.join(PROJECT_ROOT, 'apps'))  # Add the apps dir to the path

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

我不知道为什么会这样。

0 个答案:

没有答案