Flask HTTP请求与响应
设置请求 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数据
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请求与响应的更多相关文章
- Flask的请求与响应
Flask的请求与响应 1 请求相关信息 request.method # 请求方法 request.args # get 请求的参数 request.form # post请求的参数 request ...
- Flask框架 请求与响应 & 模板语法
目录 Flask框架 请求与响应 & 模板语法 简单了解Flask框架 Flask 框架 与 Django 框架对比 简单使用Flask提供服务 Flask 中的 Response(响应) F ...
- Flask 的请求与响应
flask的请求与响应 from flask import Flask,request,make_response,render_template,redirect app = Flask(__nam ...
- flask之请求与响应、闪现(阅后即焚)、请求扩展(before,after)、中间件、LOCAL对象、偏函数、
目录 1.flask请求与响应 2.闪现 3.请求扩展 4.中间件 5.LOCAL对象 6.偏函数 templates 1.flask请求与响应 from flask import Flask,req ...
- Flask之请求和响应
from flask import Flask from flask import request from flask import render_template from flask impor ...
- Flask(1):基本示例、配置文件、路由、请求和响应、模板渲染
Flask的特点: - pip install flask - 短小精悍.可扩展性强的 web框架 注意:上下文管理机制 - 依赖 wsgi:werkzeug Flask的简单示例: from fla ...
- [Python自学] Flask框架 (1) (Flask介绍、配置、Session、路由、请求和响应、Jinjia2模板语言、视图装饰器)
oldboy:s9day114 参考博客:https://www.cnblogs.com/wupeiqi/articles/7552008.html 一.Flask简介 1.安装Flask pip i ...
- Django底层剖析之一次请求到响应的整个流程
As we all know,所有的Web应用,其本质上其实就是一个socket服务端,而用户的浏览器就是一个socket客户端. #!/usr/bin/env python #coding:utf- ...
- python 全栈开发,Day139(websocket原理,flask之请求上下文)
昨日内容回顾 flask和django对比 flask和django本质是一样的,都是web框架. 但是django自带了一些组件,flask虽然自带的组件比较少,但是它有很多的第三方插件. 那么在什 ...
随机推荐
- Docker Dockerfile基本配置
1.dockerfile介绍 Dockerfile是Docker用来构建镜像的文本文件,包含自定义的指令和格式.可以通过docker build命令从Dockerfile中构建镜像.这个过程与传统分布 ...
- Django中查询相关操作
查询集特性 1)惰性查询:只有在实际使用查询集中的数据的时候才会发生对数据库的真正查询. 2)缓存:当使用的是同一个查询集时,第一次使用的时候会发生实际数据库的查询,然后把结果缓存起来,之后再使用这个 ...
- notepad++下载及安装
下载notepad++: 官网 安装:https://jingyan.baidu.com/article/154b463109921828cb8f4151.html 如果下载的64位没有插件管理器,单 ...
- 吴裕雄--天生自然HTML学习笔记:HTML 列表
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 2017 ACM-ICPC, Universidad Nacional de Colombia Programming Contest K - Random Numbers (dfs序 线段树+数论)
Tamref love random numbers, but he hates recurrent relations, Tamref thinks that mainstream random g ...
- Linux上的软件ClamAV
ClamAV是使用广泛且基于GPL License的开源代码的典型杀毒软件,它支持各种平台,如:windows.linux.Unix等操作系统,并被广泛应用于其他应用程序,如:邮件客户端服务器.HTT ...
- Android开发之《硬件加速》
Intel® SDK for OpenCL™ Applications Support:https://software.intel.com/en-us/intel-opencl-support/co ...
- 从广义线性模型(GLM)理解逻辑回归
1 问题来源 记得一开始学逻辑回归时候也不知道当时怎么想得,很自然就接受了逻辑回归的决策函数--sigmod函数: 与此同时,有些书上直接给出了该函数与将 $y$ 视为类后验概率估计 $p(y=1|x ...
- TabActivity中的Tab标签详细设置
参考链接: http://www.iteye.com/topic/602737 这个写的很不错,我是跟着一步步写下来的,不过到最后也遇到了麻烦,就是不能将Tab标签的文字和图片分开,始终是重合的,而且 ...
- Mybatis分页插件的使用流程
如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件.该插件支持任何复杂的单表.多表分页. 1.引入PageHelper的jar包 在pom.xml中添加如下依赖: 12345 ...