Flask request和response
Response
- # -*- coding: utf-8 -*-
- from flask import Flask, redirect, render_template, jsonify, send_file
- app = Flask(__name__)
- @app.route('/')
- def index():
- return redirect('/login') # 跳转,重定向
- @app.route('/login')
- def login():
- return render_template('login.html') # 返回模板有浏览器渲染
- @app.route('/json')
- def json():
- data = {
- "name": 'peach'
- }
- return jsonify(data) # 返回json标准字符串
- @app.route('/send_files')
- def send_files():
- return send_file('Dockerfile') # 返回文件(打开文件,并返回文件内容,自动识别)
- app.run(host='0.0.0.0', debug=True)
REQUEST
- Request是全局的需要导入
- from flask import Flask, request, render_template
- Request中from表单中取数据有两种方式
- 方式一:
- print(request.form.get('username'))
- 方式二:
- print(request.form['username'])
- 两者的区别,当没有'username'的时候,方式二会报错:Keyerror
视图代码如下:
正确取值:
KerError错误:
Request对象参数解析
- @app.route('/login', methods=["POST", 'GET'])
- def login():
- print(request.path) # 获取请求地址
- print(request.url) # 获取完整http url
- print(request.host_url) # http主机地址端口
- print(request.host) # 主机地址端口
- print(request.method) # 获取请求对象
- print(request.form) # 请求表单内数据, request.form.to_dict() 之间转换为字典格式
- print(request.args) # 请求地址参数, 提取可以用request.args.get()
- print(request.values) # 所有的args地址参数和form表单内参数 to_dict() 之间转换为字典格式,通常用来查看数据
- print(request.json) # json数据,如果请求头的类型是json,自动把form的数据序列化为json
- print(request.data) # 如果请求头的类型是无法识别的时候,请求体的数据将原始储存,是bytes
- print(request.cookies) # 获取cookies
- print(request.headers) # 获取请求头
- my_file = request.files.get('my-file')
- print(my_file)
- my_file.save(my_file.filename) # 保存图片
- return render_template('login.html')
HTML:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>LOGIN</title>
- </head>
- <body>
- <form action="/login?a=1&b=2", method="post", enctype="multipart/form-data">
- 用户名<input type="text", name="username">
- 密码<input type="text", name="password">
- 文件<input type="file" name="my-file">
- <input type="submit", value="登陆">
- </form>
- </body>
- </html>
运行结果如下:
因为我用的是docker环境,文件保存如下:
Flask request和response的更多相关文章
- flask中的response
1.Response 在flask中你想向前端返回数据,必须是Response的对象,这里和django必须是HttpResponse 对象一样, 主要将返回数据的几种方式 视图函数中return 字 ...
- Falsk中的Request、Response
Flask 中的Response 1.HTTPResponse('helloword') "helloword" from flask import Flask # 实例化Flas ...
- Request 和 Response 原理
* Request 和 Response 原理: * request对象和response对象由服务器创建,我们只需要在service方法中使用这两个对象即可 * 继承体系结构: ...
- Request 、Response 与Server的使用
纯属记录总结,以下图片都是来自 ASP.NET笔记之 Request .Response 与Server的使用 Request Response Server 关于Server.MapPath 方法看 ...
- request 和response
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等. 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了We ...
- Request和Response对象
Request 和 Response 对象起到了服务器与客户机之间的信息传递作用.Request 对象用于接收客户端浏览器提交的数据,而 Response 对象的功能则是将服务器端的数据发送到客户端浏 ...
- Java 中的 request 和response 理解
request和response(请求和响应) 1.当Web容器收到客户端的发送过来http请求,会针对每一次请求,分别创建一个用于代表此次请求的HttpServletRequest对象(reque ...
- 【转】request和response的页面跳转传参
下面是一位园友的文章: jsp或Servlet都会用到页面跳转,可以用 request.getRequestDispatcher("p3.jsp").forward(request ...
- LoadRunner中取Request、Response
LoadRunner中取Request.Response LoadRunner两个“内置变量”: 1.REQUEST,用于提取完整的请求头信息. 2.RESPONSE,用于提取完整的响应头信息. 响应 ...
随机推荐
- 【CKB.DEV 茶话会】如何在 CKB 上实现用户自定义 Token
本贴内容主要来自于 CKB.DEV 茶话会第一期,本期主题是:如何在 CKB 上实现 UDT,分享人是:Cipher 王博. 茶话会现场视频: https://v.qq.com/x/page/x303 ...
- Vue3.0常用代码片段和开发插件
Vue3 Snippets for Visual Studio Code Vue3 Snippets源码 Vue3 Snippets下载 This extension adds Vue3 Code S ...
- 用IDEA详解Spring中的IoC和DI(挺透彻的,点进来看看吧)
用IDEA详解Spring中的IoC和DI 一.Spring IoC的基本概念 控制反转(IoC)是一个比较抽象的概念,它主要用来消减计算机程序的耦合问题,是Spring框架的核心.依赖注入(DI)是 ...
- Python一秒搭建ftp服务器,帮助你在局域网共享文件【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- 从React 编程到"好莱坞"
目录 概念 面向流设计 异步化 响应式宣言 参考文档 概念 Reactive Programming(响应式编程)已经不是一个新东西了. 关于 Reactive 其实是一个泛化的概念,由于很抽象,一些 ...
- 可能是全网最简单的 OpenStack 安装方式
OpenStack 因为架构复杂,配置较多,一向以安装部署过程困难闻名.虽然 OpenStack 社区前后涌现出了很多的自动化部署工具,但是对于普通用户,特别是新人来说,上手仍然有难度. 使用本文介绍 ...
- Tomcat下载安装并部署到IDEA(附带idea两种热部署设置方法)
目录 Tomcat下载教程 Tomcat安装教程 Tomcat热部署到IDEA idea两种热部署设置方法 使用Idea的时候,修改了代码,需要反复的重启Tomcat,查看效果,是不是贼烦?还记得刚上 ...
- 微服务管理平台nacos虚拟ip负载均衡集群模式搭建
一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...
- HDU-1595Find the longest of shortest(最短路径的最长路Dijkstra+记录路径)
Marica is very angry with Mirko because he found a new girlfriend and she seeks revenge.Since she do ...
- UESTC-1975弗吉桑(回文串,manacher算法)
弗吉桑 Time Limit: 3000 MS Memory Limit: 64 MB Submit Status 弗吉桑是一座横跨清水河大草原的活火山,位于子科技大学主楼东北方约 80km ...