一、request 请求
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
默认的请求方式只有GET,其他请求都需要通过参数methods进行指定。
methods=['GET', 'POST']
b)args:获取GET请求参数
flask中,要获取get请求的参数,不是通过request.GET.get(),而是通过request.args.get()获取。
request.agrs.get('参数名')
c)form:获取POST请求参数
flask中,要获取get请求的参数,不是通过request.POST.get(),而是通过request.form.get()获取。
request.form.get('参数名')
d)files 获取上传文件
e)base_url 获取请求路径
f)host 获取ip和端口
二、make_response 响应
make_response(),相当于DJango中的HttpResponse。
1.返回内容
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.返回状态码
>>>方式一:在make_response()中传入状态码
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状态码
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 跳转
flask中的 redirect 相当于 DJango中的 HttpResponseRedirect。
1.参数是url形式
from flask import redirect
@blue.route('/redirect/')
def make_redirect():
return redirect('/hello/index/')
2.参数是 name.name 形式
url_for 相当于reverse,name.name 相当于django中的namespace:name,第一个name是初始化蓝图时的参数名,第二个name是函数名
from flask import redirect
@blue.route('/redirect/')
def make_redirect():
return redirect(url_for('first.index'))