第15课:Flask参数传递

使用到的模块是request
所以首先需要import request

request请求总体分为两类:
1.get请求 
访问时会在地址栏直接显示参数不安全,且参数大小比较小。
2.post请求 
参数不显示在地址栏,一般用户注册、登录都通过post请求完成。
flask获取参数方式:
request.form.get("key", type=str, default=None) 获取表单数据
request.args.get("key") 获取get请求参数
request.values.get("key") 获取post请求参数
另外,如果要获取所有参数,可以使用gets = request.args    posts = request.values
本文主要介绍以上三种方式,其次也有获取解析json数据格式,request.get_json(),这里不进行详细介绍了。

举个例子:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from flask import Flask, request

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def hello():
    if request.method == 'POST':
        a = request.values.get('a')
        if a == "":
            a = request.form.get('a')
        return a
    else:
        return request.args.get('a')

if __name__ == '__main__':
    app.run(port=8888)
运行代码,请求http://127.0.0.1:8888/?a=123 或者用postman post参数

模板传递参数:
GET参数
@app.route('/hello/<name>')
def show_page(name=None):
    return render_template('hello.html', name=name)
通过在route path中定义的方式, 可以将参数传递到函数中
POST参数
from flask import request
@app.route('/post/hello', methods=['POST'])
def post():
    name = request.form.get('name', 'default_name') # POST的表单数据获取
    return render_template('hello.html', name=name)