安装
pip install Flask
hello world
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
    return 'hello world'
if __name__ == '__main__':
    app.debug = True
    app.run(host='localhost', port=8888)
运行后,访问http://localhost:8888,即可看到hello world。
@app.route('/')中的就是url。
路由&变量规则
GET方法的url参数可变,访问:
http://localhost:8888/1
http://localhost:8888/2…
即可进入不同的分支。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
    return 'hello world'
@app.route('/<name>')
def usr(name):
    if name == '1':
        return '11111'
    else:
        return 'eeeee'
    
@app.route('/<int:post_id>')
def show_post(post_id):
    return f'Post {post_id}'
if __name__ == '__main__':
    app.debug = True
    app.run(host='localhost', port=8888)
| 类型 | 说明 | 
|---|---|
| string(默认) | 接受任何不包含斜杠的文本 | 
| int | 接受正整数 | 
| float | 接受正浮点数 | 
| path | 类似 string,但可以包含斜杠 | 
| uuid | 接受 UUID 字符串 | 
HTTP方法
POST方法
直接访问http://localhost:8888/login,为GET请求,返回form表单的登录界面。
点击”提交“,为POST请求,此时应该返回另一个界面。
from flask import request
@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        return do_the_login()
    else:
        return show_the_login_form()
Request对象
request对象包含前端发送过来的所有请求数据。
request.method:获取请求方法
request.form['username']:获取表单用户名
request..form['password']:获取表单密码
@app.route('/login', methods=['POST', 'GET'])
def login():
    error = None
    if request.method == 'POST':
        if valid_login(request.form['username'],
                       request.form['password']):
            return log_the_user_in(request.form['username'])
        else:
            error = 'Invalid 
    return render_template('login.html', error=error)
返回JSON数据给前端
from flask import Flask, jsonify
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False  # 中文编码
@app.route('/index')
def index():
    data = {
        'name': '张三'
    }
    return jsonify(data)
if __name__ == '__main__':
    app.debug = True
    app.run(host='localhost', port=8888)