六.Python的轻量级web框架bottle介绍
编写一个文件bottle_example.py,内容如下:
from bottle import route, run, template, static_file
@route('/hello')
def hello():
return "Hello,world!"
test_home = './resource/'
@route('/rsrc/<p:path>')
def foo(p):
return static_file(p, test_home)
run(host='localhost', port=8080)
执行这个文件,然后在浏览器中输入::8080/hello,页面会输出”hello,world”。
如下所示:
好,webserver已经跑起来了。接下来,我们研究webserver如何加载一个页面,首先我们在bottle_example.py的当前目录下新建一个文件夹resource,在resource目录下再建立一个docs文件夹,在docs目录下我们建一个index.html页面(即index.html存在在./resource/docs/目录下)。目录结构如下图所示:
因为bottle是基于路由进行响应处理的,我们该如何让bottle来加载这个index.html页面呢?
答案是:@route('/rsrc/<p:path>')这个路由能够实现。当用户在浏览器中打开:8080/rsrc/docs/index.html页面时,就会触发这个路由,然后执行static_file这个方法来加载path路径指定的静态文件。这样便实现了加载静态页面的功能。