2012-02-21 109 views
1

我想讓用戶上傳一個在heroku上運行的django應用程序的文件,並遇到一些問題。在我的開發環境(使用django開發服務器)中,我設置了允許用戶上傳文件(小圖像/徽標)。一切都很好。Heroku上的Django,上傳文件與gunicorn

當我嘗試在heroku上甚至在使用gunicorn(而不是django開發服務器)的開發服務器上運行它時,用戶無法上載文件。我通常最好使用類似Amazon S3的東西,但由於文件相對較小,我以爲直接在heroku上啓動可能會起作用。

我明白,我可以上傳的文件與manage.py collectstatic工作,但是這不是問題,因爲上傳的文件從來沒有真正被上傳。我沒有注意到我能看到的任何錯誤。

是我正在努力實現的?我應該專注於嘗試使用S3來代替它嗎?現在看來我的需求有點讓人望而生畏,但我願意接受任何形式的建議或幫助。

感謝,

編輯: 看來,它只能我的虛擬環境之外。在虛擬環境中是否使用gunicorn並不重要。

回答

3

我認爲你應該把注意力集中在像S3那樣的外部存儲上,以便在程序執行期間創建的資產是。 Heroku對每個測功機使用ephemeral filesystem,所以當然不會上傳文件的地方,即使它們很小。