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('<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'))
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,288评论 22 257
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,288评论 19 139
  • [TOC]一直想做源码阅读这件事,总感觉难度太高时间太少,可望不可见。最近正好时间充裕,决定试试做一下,并记录一下...
    何柯君阅读 7,301评论 3 98
  • Refer to: www.threemeal.com/blog/12/ 中间件 中间件是一个钩子框架,它们可以介...
    兰山小亭阅读 16,628评论 9 165
  • 当夜深人静时,一个人静静地呆坐着。 把心里的事情拿出来,一遍又一遍的整理着,把角落里那些已经蒙了尘埃的记忆, 正在...
    云南左左阅读 288评论 0 0