2010-06-21 73 views

回答

2

通常處理靜態文件的方式實際上並不是通過django發送它們,而是讓web服務器(例如apache或ngingx)處理它們。我提供了一個mod_wsgi的小例子,基於官方的django文檔,找到here

Alias /media/ /usr/local/wsgi/static/media/ 

<Directory /usr/local/wsgi/static> 
Order deny,allow 
Allow from all 
</Directory> 

WSGIScriptAlias//usr/local/wsgi/scripts/django.wsgi 

<Directory /usr/local/wsgi/scripts> 
Order allow,deny 
Allow from all 
</Directory> 

第一條語句確保/ media中的所有文件都將通過apache直接提供,而不是django。第二個聲明是爲了設置django網站本身。現在,使用這些媒體文件不會經過django處理,這往往是痛苦的緩慢。

靜態文件服務器存在的原因主要是針對開發或非常簡約的卷展欄。

+2

有關更多信息,請參閱[提供靜態文件的Django文檔頁面](http://docs.djangoproject.com/en/dev/howto/static-files/)。我見過的一件事是推薦使用完全不同的Web服務器來處理靜態文件,例如使用lighttpd。這就是爲什麼'MEDIA_ROOT'和'MEDIA_URL'假定Django服務器沒有共享資源,甚至沒有服務器本身(以及爲什麼最初'settings.py'文件中的註釋顯示完整的URL作爲例子)。 – 2010-06-21 23:09:47

+0

好的。現在開始有意義。 – 2010-06-22 05:55:57

+0

後續問題:那麼這兩個靜態項目又有什麼意義呢? – 2010-06-22 06:05:30

相關問題