2013-04-01 57 views
3

嗨,我有一個小的燒瓶應用程序從家庭網絡使用的目的地。媒體文件的燒瓶send_from_directory

目前我有Flask與uWSGI和nginx一起運行。

該應用程序基本上掃描一個位置並提供媒體文件。下面是渲染這些文件的代碼:

@app.route('/get_media/<path:filename>', methods=['GET']) 
    def get_media(filename): 
     return send_from_directory('/media/', filename) 

send_from_directory工作正常,但似乎是緩慢的。我必須承認我並不真正瞭解它背後的過程。 python是提供這些文件還是nginx?我希望nginx能夠服務這些文件,但我不確定如何配置別名,因爲我希望應用程序能夠遍歷文件的目錄,但是想將服務提供給nginx。

任何指導非常讚賞。

回答

3

如果您已經在使用nginx,您應該使用nginx提供媒體和靜態文件,沒有理由使用uWSGI和瓶子來提供它們,但是開銷過大。

#in case you have structure /path/to/your/media_dir/media 
location /media { 
    root /path/to/your/media_dir; 
} 

#in case you have structure /path/to/your/media_dir 
location /media { 
    alias /path/to/your/media_dir; 
} 
+0

其實,我已經在我的nginx配置文件中有這個了。 –

+1

所以你不應該做你現在做的事情。你也應該從瓶子中移除處理程序,不需要它們 – Tigra

+0

在開發過程中,我不使用nginx。如何讓圖像出現,但在生產時仍然使用nginx? – Jon