设置请求 POST GET

设置post和get,在route中设置methods参数,除了post,get,还有put ,delete 等

  @app.route('/http_test', methods=['GET', "POST"])

 from flask import Flask, url_for, request
@app.route('/http_test', methods=['GET', "POST"]) # 如果没有methods参数,默认只支持get,必须大写
def http_test():
if request.method == 'POST':
print('post')
return 'post'
elif request.method == "GET":
print("GET")
return 'GET'

获取请求参数

参数形式包括 from data,json,get的path参数

from flask import Flask, url_for, request
@app.route('/http_test1', methods=["GET", "POST"])
def http_test1(): # post参数{"name":"666"},application/json
if request.method == 'POST':
# request.data
print(request.data) # b'{"name":"666"}'
print(type(request.data)) # <class 'bytes'>
# request.json
print(request.is_json) # True
print(request.json) # {"name":"666"}
print(type(request.json)) # <class 'dict'>
return 'post'
总结就是:
request.form.get("xxx") #获取form 数据
request.args.get("xxx") #获取path 数据
request.json.get("xxx") #获取json 数据
request.data #二进制数据
request.headers.get("z") #获取header数据
request.is_json() #判断是否是json 数据

返回响应

常见返回

1.return + "String" ,实际上是会调用make_response

2.return + render_template("path/to/temaplate",{}),返回模版

3.return + redirect #重定向,常常与url_for联合用
return redirect(url_for(view_func))# 重定向到某个视图,url_for为获取视图路径的函数
4.return + jsonify(**dict) 返回json数据
flask 可配置返回函数make_response
def index():
response = make_response(render_template('index.html', foo=42)) #等效于直接render_template('index.html', foo=42)
response.headers['X-Parachutes'] = 'parachutes are cool'# 编辑response_headers 信息
response.set_cookie('key', 'value') #设置session
response.delete_cookie('key')
return response

Flask HTTP请求与响应的更多相关文章

  1. Flask的请求与响应

    Flask的请求与响应 1 请求相关信息 request.method # 请求方法 request.args # get 请求的参数 request.form # post请求的参数 request ...

  2. Flask框架 请求与响应 & 模板语法

    目录 Flask框架 请求与响应 & 模板语法 简单了解Flask框架 Flask 框架 与 Django 框架对比 简单使用Flask提供服务 Flask 中的 Response(响应) F ...

  3. Flask 的请求与响应

    flask的请求与响应 from flask import Flask,request,make_response,render_template,redirect app = Flask(__nam ...

  4. flask之请求与响应、闪现(阅后即焚)、请求扩展(before,after)、中间件、LOCAL对象、偏函数、

    目录 1.flask请求与响应 2.闪现 3.请求扩展 4.中间件 5.LOCAL对象 6.偏函数 templates 1.flask请求与响应 from flask import Flask,req ...

  5. Flask之请求和响应

    from flask import Flask from flask import request from flask import render_template from flask impor ...

  6. Flask(1):基本示例、配置文件、路由、请求和响应、模板渲染

    Flask的特点: - pip install flask - 短小精悍.可扩展性强的 web框架 注意:上下文管理机制 - 依赖 wsgi:werkzeug Flask的简单示例: from fla ...

  7. [Python自学] Flask框架 (1) (Flask介绍、配置、Session、路由、请求和响应、Jinjia2模板语言、视图装饰器)

    oldboy:s9day114 参考博客:https://www.cnblogs.com/wupeiqi/articles/7552008.html 一.Flask简介 1.安装Flask pip i ...

  8. Django底层剖析之一次请求到响应的整个流程

    As we all know,所有的Web应用,其本质上其实就是一个socket服务端,而用户的浏览器就是一个socket客户端. #!/usr/bin/env python #coding:utf- ...

  9. python 全栈开发,Day139(websocket原理,flask之请求上下文)

    昨日内容回顾 flask和django对比 flask和django本质是一样的,都是web框架. 但是django自带了一些组件,flask虽然自带的组件比较少,但是它有很多的第三方插件. 那么在什 ...

随机推荐

  1. C#函数的基础应用

    C#函数的基础应用 函数之前的知识回顾 数据类型--变量常量--运算符表达式--语句(顺序,分支,循环)--数组--函数 程序里的函数:能完成一个相对独立功能的代码模块. 数学里的函数:高度抽象. 函 ...

  2. Qt QByteArray 与 char* 的转换

    QByteArray 转换为 char * char *ch;//不要定义成ch[n]; QByteArray byte; ch = byte.data(); char * 转换为 QByteArra ...

  3. cashier|gasoline|reservoir

    N-COUNT 出纳(员);收银员A cashier is a person who customers pay money to or get money from in places such a ...

  4. MySQL第五次课

    /*Mysql第五次课 索引与事务 数据库优化 数据库优化指的就是通过各种途径 提高查询效率 优化方式有多种,但其中之一就是为字段 添加索引 什么是索引? 相当于为某个字段或某几个字段,添加 了目录, ...

  5. 吴裕雄--天生自然python学习笔记:Python3 模块

    Python3 模块 在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了. 为此 Python 提供了一个办 ...

  6. Android开发之《ffmpeg解码mjpeg视频流》

    MJPEG格式和码流分析,MJPEG格式的一些简介 FFmpeg解码USB摄像头MJPEG输出:http://blog.csdn.net/light_in_dark/article/details/5 ...

  7. Junit 单元测试在 intelliJ IDEA 中的安装

    1.为什么使用Junit我们都知道,main 方法是一个程序的入口,通常来说,没有main方法,程序就无法运行.我们经常会写一些class文件(如下图所示),他们并没有自己的main方法.那么我们如何 ...

  8. 20181026_队测_Brick Game

    题目描述 给出一个\(n\)行\(m\)列的矩阵,矩阵中每个格子有一个非负整数,现在要求你去除其中的个格子,使得剩下的格子中的数的总和最大.另外,去除\(k\)个格子后,剩下的格子必须满足以下几个性质 ...

  9. Java Annotation/Scope

    1.在计算机编程语言Java中,什么是注释(Annotation)? 注释是一种可以添加到Java源代码的语法元数据或描述(注释不影响程序执行) 2.注释(Annotation)有什么作用?    ( ...

  10. 康威定律(Conway's law)

    系统是设计该系统的组织结构的映射. Conway's law 最初是Conway在1967年发表的论文<How Do Committees Invent?>,然后 Fred Brooks ...