Django CMS - link 上传图片 returns 404
Django CMS - link to uploaded image returns 404
我有一个 Django 1.8.4 站点和 Django CMS 3.1.3。通过 djangocms-picture 插件,我希望编辑能够将图像上传到站点。如果我使用此插件在页面上上传图像,图像最终会位于服务器上的以下文件夹中:
[PATH_TO_APP_ROOT]/media/cms_page_media/8/
其中“8”是页面的 ID。当我浏览页面时,图像的 link 给出为
https://[MY_SITE]/media/cms_page_media/8/my_image.png
但是这个 link 不正确,我得到了 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
中查找图像,因为此 URL 的 cms_page_media
部分来自 CMS_PAGE_MEDIA_PATH
,这不是 URL 设置( ?)。我需要寻找什么设置来更正此问题?
请注意,我在 DEV(本地)中一切正常 - 问题仅出现在生产服务器上。
终于有时间调查一下:问题是网络服务器 (pythonanywhere) 配置不正确。在他们的管理工具中,我必须指定媒体文件夹的路径。当我这样做时,它成功了,无需更改任何 Django 设置。
更多信息在这里:https://help.pythonanywhere.com/pages/DjangoStaticFiles
我有一个 Django 1.8.4 站点和 Django CMS 3.1.3。通过 djangocms-picture 插件,我希望编辑能够将图像上传到站点。如果我使用此插件在页面上上传图像,图像最终会位于服务器上的以下文件夹中:
[PATH_TO_APP_ROOT]/media/cms_page_media/8/
其中“8”是页面的 ID。当我浏览页面时,图像的 link 给出为
https://[MY_SITE]/media/cms_page_media/8/my_image.png
但是这个 link 不正确,我得到了 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
中查找图像,因为此 URL 的 cms_page_media
部分来自 CMS_PAGE_MEDIA_PATH
,这不是 URL 设置( ?)。我需要寻找什么设置来更正此问题?
请注意,我在 DEV(本地)中一切正常 - 问题仅出现在生产服务器上。
终于有时间调查一下:问题是网络服务器 (pythonanywhere) 配置不正确。在他们的管理工具中,我必须指定媒体文件夹的路径。当我这样做时,它成功了,无需更改任何 Django 设置。
更多信息在这里:https://help.pythonanywhere.com/pages/DjangoStaticFiles