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虽然自带的组件比较少,但是它有很多的第三方插件. 那么在什 ...
随机推荐
- django框架进阶-AJAX-长期维护
################## 预备知识---json ####################### 预备知识,json 什么是json?这是一种数据格式,和语言没有关系, 为什么 ...
- Java IO: PipedOutputStream
原文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) PipedOutputStream可以往管道里写入读取字节流数据,代码如下: 01 Outp ...
- (警告)不要轻易删除libc.so.6,以及误删恢复
网上有很多帖子介绍升级libc.so.6库的帖子,这里存在巨大的坑: 如: Linux/CentOS 升级C基本运行库CLIBC的注意事项(当想解决GLIBC_2.x找不到的编译问题) 里边都会有这样 ...
- 转:zabbix 更改maps图标
更改Zabbix map图标 Zabbix的maps用来图形化显示监控设备的拓扑图,并且以不同的标记显示故障事件,通过该图表很直观的显示设备的整体情况.系统默认的图标比较简陋,如图十一所示.通过更改系 ...
- Python实现简单Web服务器
实验楼教程链接: https://www.shiyanlou.com/courses/552/labs/1867/document http原理详解(http下午茶): https://www.kan ...
- [JS奇怪的世界]No.55 危險小叮嚀:陣列與for in
前言 前面已經瞭解了使用內建函數建構子的某些危險地方,但其實陣列與for in,也是有一些危險的地方. 陣列與for in 在前面幾個章節有講過陣列就是物件,所以我們一樣可以使用 for in來做處理 ...
- string类应用举例
* Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhello ...
- 一文看懂Java序列化
一文看懂Java序列化 简介 Java实现 Serializable 最基本情况 类的成员为引用 同一对象多次序列化 子父类引用序列化 可自定义的可序列化 Externalizable:强制自定义序列 ...
- iOS 使用系统的UITabBarController 修改展示的图片大小
1. 设置TabBarItem图片的大小 1 - (void)configurationAppTabBarAndNavigationBar { // 选中的item普通状态图片的大小 UIImage ...
- PyQt5之QtMultimedia模块音乐播放没声音已解决
昨天用PyQt5的QtMultimedia模块播放音乐时,单独使用可播放,放代码里结合使用死的播放不了.以下是测试demo可播放代码: # -*- coding: utf-8 -*- # Nola f ...