我有一个带Django CMS 3.1.3的Django 1.8.4站点。通过djangocms-picture插件,我希望编辑能够将图像上传到网站。如果我使用此插件在页面上上传图像,则图像最终会出现在服务器上的以下文件夹中:
[PATH_TO_APP_ROOT]/media/cms_page_media/8/
其中'8'是页面的id。浏览页面时,图像链接为
https://[MY_SITE]/media/cms_page_media/8/my_image.png
但是这个链接不正确,我得到了404.我很难弄清楚我错过了什么,但似乎有一些URL设置应该改变。
在settings.py中我有:
MEDIA_ROOT = os.path.join([PATH_TO_APP_ROOT], "media")
MEDIA_URL = "/media/"
[PATH_TO_APP_ROOT]
与上面给出的相同。我没有更改任何媒体设置given in the Django CMS docs所以它们都应该是默认设置。我很困惑,服务器在/media/cms_page_media/8/my_image.png
中查找cms_page_media
的图像 - 此网址的一部分来自CMS_PAGE_MEDIA_PATH
,这不是网址设置(?)。我需要寻找什么设置来纠正这个问题?
请注意,在DEV(本地)中,一切对我来说都很完美 - 问题仅出在生产服务器上。
答案 0 :(得分:0)
最后有时间研究一下:问题是Web服务器(pythonanywhere)配置不正确。在他们的管理工具中,我必须指定媒体文件夹的路径。当我这样做时,它可以工作,而无需更改任何Django设置。
此处有更多信息:https://help.pythonanywhere.com/pages/DjangoStaticFiles