簡體   English   中英

在Django開發服務器上通過Apache服務媒體文件?

[英]Serve Media Files Via Apache on a Django Development Server?

由於某些原因,除了我嘗試訪問Django應用程序中的media文件(用戶上傳的文件)時不斷出現的“愚蠢”錯誤外,我無法弄清楚為什么我不能管理media文件!

在這種情況下,例如,我想要做的就是能夠將上傳的圖像顯示在最前面。 我的up通過/static/正確地提供了靜態文件,但是當我嘗試為/site_media/提供服務時,地獄就/site_media/松散了! 我可能做錯了什么?

因此,在意識到Django實際上並沒有真正處理媒體文件的能力之后,我決定通過建議的mod_python選項使用Apache,就像在生產中建議的那樣。 但是我以前從未做過,並且想知道在開發服務器上這樣做是否值得。

好吧,我知道最終我在生產時必須走這條路,所以仍然必須學習如何做到這一點,但是在開發服務器上使用此路由的利弊是什么?

由於django無需處理媒體即可更快地處理請求,因此肯定是一個專業人士。

缺點是,如果並且在編輯媒體時,還需要重新啟動apache,以刷新媒體。

根據您的評論進行更新:

當然,您可以輕松地做到這一點。 我練習此問題的一種簡單方法是,使用nginx並將媒體文件夾符號鏈接到已啟用nginx站點並在端口80(或任何其他端口)上運行nginx。

您可以在設置中設置MEDIA_URL,將其指向具有適當端口的URL。

首先, 建議使用mod_python。 實際上,特別推薦反對 請改用mod_wsgi。

其次,由於您未提供任何代碼或安裝細節,因此我們無法通過開發服務器告訴靜態媒體時您在做什么錯。

最后,沒有理由沒有理由不能使用Apache-甚至更好的是使用輕量級服務器(例如nginx)並將其僅指向靜態目錄。 然后,將STATIC_URL中的STATIC_URL設置為該服務器提供的地址。 在開發過程中,端口是什么都沒有關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM