Flask中request请求、make_response响应、redirect跳转

一、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('

羞羞哒

') 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'))

你可能感兴趣的:(Flask中request请求、make_response响应、redirect跳转)