bottle是一个python WSGI框架,简单的一个py文件,集成了router、redirect、template,request/response获取与设定等功能,下面介绍其基本使用方法。
先import相关方法,并声明Bottle对象:
from bottle import Bottle, jinja2_template as template, static_file, redirect, request, response, run
app = Bottle()
Router
利用python的decorator方法,可以声明多个URL对应一个处理函数:
@app.get('/')
@app.get('/index')
def index():
return 'Hello bottle!'
template
template用于将后台代码与前端代码分离,增加后台代码重用:
@app.get('/login')
def login():
return template("login.html", handler=get_site_info())
@app.post('/login')
def login_post():
return UserService.login()
redirect
bottle提供了redirect方法用于页面跳转,如登出后跳转到登录页面:
@app.get('/log-out')
def log_out():
UserService.log_out()
redirect('/login', 302)
request/response
bottle提供了request和response对象,通过这两个对象,可方便地操作请求与响应数据:
@app.get('/admin')
def admin():
_status = request.query.get('status', None)
response.set_cookie('status', _status)
static_file
网页包含html、js、图片等静态内容,处理这些静态内容的请求,我们不需要编写专门的router处理,只需要将静态内容放到一个文件夹下,利用如下一段代码,即可处理所有static文件请求:
@app.get('/static/<filename:re:.*')
def server_static_file(filename):
return static_file(filename, root='./static/')
最后,使用run方法让我们后台服务跑起来:
run(app, host='localhost', port=8080)
Have fun!
没有评论:
发表评论