Archives
-
[Cherrypy]配置设置,静态内容支持
Cherrypy是一个很不错的python webserver,不过好东西也会让人抓狂的。Cherrypy的配置可以放在一个配置文件中,然后在启动的时候提供出文件名就可以。cherrypy.quickstart(handler, config=’/path/to/conf_file’) 我需要用到的一个功能就是要增加一个静态内容的支持,也就是当用户访问http://localhost/static的时候指向的是我的一个存放静态内容(js,css等)的目录。这个可以使用配置文件的tools.staticfile和tools.staticdir参数设置(相见Cherrypy的StaticContent章节)。但是你写在配置文件中的都需要是一个绝对路径,而我的程序是不一定安装到哪里的,所以只能后期配置。此时的配置信息是分两部分的,一部分是通用的,一部分是静态内容,需要根据当前所在目录组合起来的。 正确的写法是cherrypy.config.update(global_config)然后是cherrypy的quickstart里面的config是static的配置cherrypy.quickstart(handler, config=static_conf) 首先是把全局的配置设置在cherrypy的config中,然后在quickstart里面给出静态内容的配置。 我走了一个弯路,无法正确的使用静态内容 把所有的内容都放在一个配置信息中,使用cherrypy.config.update,在quickstart的时候不给config参数 就原因来说,我查看了一下cherrypy的源代码,他会在quickstart的时候,把config参数应用在tree的mount上,而static content的配置在此时才会起作用的。所以这样做是不行的。
Mar 14th, 2008 | Filed under cherrypyTags: programming, python