我有一個Django 1.8.4網站與Django CMS 3.1.3。通過djangocms-picture插件,我希望編輯能夠將圖像上傳到網站。如果我上傳的圖像使用這個插件的網頁上,圖像中的服務器上的以下文件夾結束:Django CMS - 鏈接上傳圖像返回404
[PATH_TO_APP_ROOT]/media/cms_page_media/8/
其中「8」是頁面的ID。當我瀏覽頁面時,對圖像的鏈接給出
https://[MY_SITE]/media/cms_page_media/8/my_image.png
但這個鏈接是不正確的,我得到一個404,我有一個很難搞清楚什麼我失蹤,但它似乎應該更改一些網址設置。
在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
-這個URL的一部分來自CMS_PAGE_MEDIA_PATH
,它不是URL設置(?)。我需要尋找什麼設置來糾正這個問題?
請注意,在DEV(本地)中,一切都適用於我 - 問題僅在生產服務器上。
應用程序根也是Web服務器的根?如果DEBUG關閉,django將不會提供靜態或媒體文件,而是讓apache/nginx web服務器直接處理它們。這意味着您必須將媒體根指向由Web服務器處理的文件夾,並設置服務器的配置以將此文件夾的內容視爲靜態內容。 – mch