提升Django开发服务器静态媒体的加载速度
我正在使用Django的 manage.py runserver
来开发我的应用(这很明显),但是加载一个页面需要10秒,因为开发服务器在提供静态文件时非常非常慢。
有没有什么办法可以加快这个速度,或者有什么解决方法?我在用Windows 7。
6 个回答
4
首先,如果你还没有安装Firefox浏览器,就先去安装一个。接着,安装一个叫做Firebug的插件。安装完后,重启你的浏览器。在浏览器右下角点击那个“虫子”的图标,确保在打开的Firebug面板的“网络”标签(这是一个下拉菜单)中,网络监控是开启的。
现在,打开Firebug的网络标签,然后打开你之前发现加载很慢的Django生成的页面。看看时间线条。你会注意到每个条的彩色部分表示每个请求的总“加载”时间的原因。比如,紫色表示浏览器在等服务器生成响应;灰色表示正在接收内容;其他颜色也是有不同的含义。把鼠标悬停在条上会显示颜色的说明。
通过Firebug的网络监控,你应该能清楚地看到你的浏览器和/或服务器是如何花费这10秒钟的。
5
开发服务器是一个简单、不安全的单线程应用,所以它的功能有限。
你可以尝试一个小技巧,把 /site_media 重定向到第二个开发服务器,但这样做不太好,可能效果也不大。所以你可以试着把多个资源打包或压缩成一个 css 或 js 文件(比如使用 YUI Compressor)。
无论如何,你应该有一个单独的静态媒体服务器,这样它可以同时提供多个资源。
9
可以考虑使用 mod_wsgi
,让httpd来处理静态文件。