一褐奴、request 請(qǐng)求
from flask import request
@blue.route('/getrequest/', methods=['GET', 'POST'])
def get_request():
if request.method == 'GET':
args = request.args
else:
form = request.form
return '獲取request'
1.request的常用屬性
a)methods
默認(rèn)的請(qǐng)求方式只有GET按脚,其他請(qǐng)求都需要通過參數(shù)methods進(jìn)行指定。
methods=['GET', 'POST']
b)args:獲取GET請(qǐng)求參數(shù)
flask中敦冬,要獲取get請(qǐng)求的參數(shù)辅搬,不是通過request.GET.get(),而是通過request.args.get()獲取脖旱。
request.agrs.get('參數(shù)名')
c)form:獲取POST請(qǐng)求參數(shù)
flask中堪遂,要獲取get請(qǐng)求的參數(shù),不是通過request.POST.get()萌庆,而是通過request.form.get()獲取溶褪。
request.form.get('參數(shù)名')
d)files 獲取上傳文件
e)base_url 獲取請(qǐng)求路徑
f)host 獲取ip和端口
二、make_response 響應(yīng)
make_response()践险,相當(dāng)于DJango中的HttpResponse猿妈。
1.返回內(nèi)容
from flask import make_response
@blue.route('/makeresponse/')
def make_response_function():
response = make_response('<h2>羞羞噠</h2>')
return response, 404
2.返回頁面
from flask import make_response
@blue.route('/makeresponse/')
def make_response_function():
temp = render_template('hello.html')
response = make_response(temp)
return response
>>>注意:make_response 想要返回頁面,不能直接寫做:make_response('hello.html')巍虫,必須用render_template('hello.html')形式彭则。
3.返回狀態(tài)碼
>>>方式一:在make_response()中傳入狀態(tài)碼
from flask import make_response
@blue.route('/makeresponse/')
def make_response_function():
temp = render_template('hello.html')
response = make_response(temp, 200)
return response
>>>方式二:直接return狀態(tài)碼
from flask import make_response
@blue.route('/makeresponse/')
def make_response_function():
temp = render_template('hello.html')
response = make_response(temp)
return response, 200
三、redirect 跳轉(zhuǎn)
flask中的 redirect 相當(dāng)于 DJango中的 HttpResponseRedirect占遥。
1.參數(shù)是url形式
from flask import redirect
@blue.route('/redirect/')
def make_redirect():
return redirect('/hello/index/')
2.參數(shù)是 name.name 形式
url_for 相當(dāng)于reverse贰剥,name.name 相當(dāng)于django中的namespace:name,第一個(gè)name是初始化藍(lán)圖時(shí)的參數(shù)名筷频,第二個(gè)name是函數(shù)名
from flask import redirect
@blue.route('/redirect/')
def make_redirect():
return redirect(url_for('first.index'))