2010-06-21 72 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

相关问题