请求头
URL路径参数
Content-Type
响应格式为text/html
from flask import Blueprint,request,make_responseindex_page = Blueprint("index_page",__name__)@index_page.route('/')def index():return "index page"@index_page.route('/me')def hello():return "hello, this is me"@index_page.route('/get')def get():var_a = request.args.get('a','Welcom')return 'request:%sparams:%s,var_a:%s'%(request.method,request.args,var_a)@index_page.route('/post',methods=['POST'])def post():var_b = request.values['b'] if 'b' in request.values else 'welcome'return 'request: %s; params: %s; var_b: %s;%s'%(request.method,request.args,var_b,request.values)@index_page.route('/upload',methods=['POST'])def upload():var_c = request.files['file'] if 'file' in request.files else Nonereturn 'request: %s; params: %s; var_c: %s; values:%s'%(request.method,request.files,var_c,request.values)@index_page.route('/text_get')def text_get():return "text/html"@index_page.route('/text_same')def text_same():response = make_response('text/html',200)return response
响应值默认是200
响应格式为json
@index_page.route('/json')def json():data = {'a':'Tom'}import jsonresponse = make_response(json.dumps(data))response.headers['Content-type'] = 'application/json'return response

請求方式
@index_page.route('/upload',methods=['POST'])
使用jsonify
from flask import jsonify
flask的jsonify封装了json,相比于json.dumps(),jsonify不仅把字典转换为了json格式的字符串,还设置了响应头为Content-Type:application/json,return的时候就会将此响应头返回。
@index_page.route('/json_same')def json_same():data = {'b':'Jerry'}response = make_response(jsonify(data))return response
jsonify封装了json.dumps和headers设置为application/json的操作
使用模板响应
最重要的,这里是使用的Jinjia2模板引擎。
需要在同级目录下创建一个templates文件夹,然后把html文件放进去。前提是需要导入render_template。
@index_page.route('/template')def template():return render_template ('index.html')


