Flask的請求與響應
1 請求相關信息
request.method # 請求方法
request.args # get 請求的參數
request.form # post請求的參數
request.values # 所有的請求參數
request.args.get('id')
request.args.getlist('ids') # 獲取多個值
data = request.args
data_dict = data.to_dict() # 通過to_dict() 方法 轉化成 字典
from urllib.parse import urlencode,quote,unquote
url = urlencode(data_dict) # 轉換成 url
quote -->> url編碼
request.cookies
request.headers
request.path
request.full_path
request.script_root
request.url
request.base_url
request.url_root
request.host_url
request.host
# 獲取 ip
request.remote_addr
# 文件
request.files
obj = request.files['the_file_name']
obj.save('/var/www/uploads/' + secure_filename(f.filename))
2 響應相關信息
(1)return "字符串" 實際上是調用make_response
(2)return render_template('html模板路徑',{})
(3)return redirect('/index.html')
(4)jsonify 返回json數據
from flask import jsonfy
return jsonfy(**dict)
(5)響應中加入信息,基於make_response
from flask import make_response
response = make_response(render_template('index.html'))
response是flask.wrappers.Response類型
response.set_cookie('key', 'value')
response.delete_cookie('key')
response.headers['X-Something'] = 'A value'
return response
小例子
from flask import Flask,views,redirect,url_for,make_response,jsonify
app = Flask(__name__)
def auth_decorator(func):
def inner(*args,**kwargs):
print('裝飾器')
return func(*args,**kwargs)
return inner
@app.route('/index',endpoint='index',methods=['GET'])
@auth_decorator
def index():
response = make_response('index')
response.headers['hhhh'] = 'asdsad'
return response
if __name__ == '__main__':
app.run()