2012-05-18 96 views
0

我有一個django應用程序,其中包含一個帶有文件上傳字段的模型。上傳字段將獲取目標文件並將副本上傳到媒體根目錄中的現有目錄,或者如果該目錄尚未創建,則會創建該目錄並將其放入其中。apache中的django mkdir權限

該應用程序在開發中使用內置的Django服務器,但當我將其移動到生產服務器(我的OSX機器運行Apache2實例mod_wsgi)時,我得到了「[錯誤13]權限被拒絕」從django的storage.py中的mkdir函數中,每當我嘗試上傳文件。我強烈懷疑是否有需要添加到我的apache httpd.conf中的權限語法。我不知道爲什麼Django服務器沒有代碼的麻煩,但Apache的噱頭。有人知道嗎?

+0

這兩個文件夾的權限是什麼? – bcoughlan

+0

我剛修好了。太簡單了。根據您的評論建議,我只需直接在兩個文件夾上更改權限。謝謝。 – kjarsenal

+0

應該在serverfault ... –

回答

0

我想有時候一個錯誤信息正是它說,這是。在這種情況下,「[Error 13] Permission denied」被拋出,因爲Apache沒有對django應用程序試圖上傳目錄的寫入權限。我只是導航到我設置爲文件上傳目錄的目錄,並在系統範圍內給它們寫入權限。這可能不是最安全的解決方案,但它是最實用的,因爲它工作並且我不知道如何明確地爲apache2設置寫入權限,而無需在系統範圍內打開目錄。

另外,我沒有在serverfault上發佈這個問題,因爲我不知道它是django配置問題還是apache問題。