Flask是一个轻量级的web框架。

示例:

from flask import Flaskapp = Flask(__name__)@app.route('/')def main():    return '<h1>hello world</h1>'if __name__ == "__main__":    app.run()

启动Flask Server:

$ flask run --port 18888 --host 0.0.0.0

--port用来指定服务的端口。如果要使服务始终运行,在后面加上nohup

如果要设置成Debug模式,执行:export FLASK_DEBUG=1

Windows用 set 来设定环境变量。
参数路由

Flask反对在路由中增加参数,默认类型是string,也能够显式地申明为int

@app.route('/<id>')def func1(id):    id = int(id) ** 2    return str(id)# 只会匹配整数的路由类型@app.route('/<int:id>')def func2(id):    return str(id ** 2)# 这时候的 url_path 是一个相对路径@app.route('/<path:url_path>/')def func3(url_path):    return 'path:%s' % url_path
申请形式

Flask默认是 GET办法,应用 methods参数指定更多的办法。

from flask import request@app.route('/', methods=['POST', 'GET'])def main():    if request.method == 'POST':        # 解决 POST 提交的表单        register_dict = request.form        username = register_dict['usrename']        password = register_dict.get('password')            if request.method == 'GET':        # 获取 GET 办法的参数        key = request.args.get("key")
响应

Flask视图函数返回的参数将组成用户收到的响应(response)。

第一个参数是响应字符串;第二个参数是状态码,Flask默认设为200,表明申请已被胜利解决;第三个参数是由 HTTP 响应首部组成的字典。

@app.route('/')def index():     # 返回 400 状态码,示意申请有效    return 'Bad Request', 400

响应有个非凡的类型,称为重定向

from flask import redirect@app.route('/')def index():    return redirect('http://www.example.com')

还有一种非凡的响应由 abort函数生成,用于处理错误。

from flask import abort @app.route('/user/<id>')def get_user(id):    if id == 0:        abort(404)    return 'hello', 200

咱们能够自定义错误处理形式。

@app.errorhandler(404) def page_not_found(error): # 自定义解决异样    return 'This page does not exist', 404