flask之request
from flask import Flask, render_template, redirect, jsonify, send_file, request, session
app = Flask(__name__)
@app.route('/request/', methods=['GET', 'POST'])
def home():
print(request.method) # 请求方式
print(request.url) # 请求完整路径(ip+port+路径+参数)http://192.168.16.14:8888/?id=1&name=yang
print(request.path) # 请求路径/
print(request.args) # url请求查询参数
print(request.form) # Formdata表单数据(可以采用GET方式)
print(dict(request.form))
print(request.form.to_dict())#MultiDict字典转化成常见的pyhton格式字典
print(request.files) # 文件上传(不能用GET方式上传文件,同时在form中添加属性enctype="multipart/form-data")
print(request.values) #获取url中get和post中的formdata数据
print(request.json) # 如果在请求中写入了 "application/json" 使用 request.json 则返回json解析数据, 否则返回 None(request.data中也有)
print(request.data) # 不属于form/formData或mimetype(http://www.w3school.com.cn/media/media_mimeref.asp)的描述,request就会将无法处理的参数转为Json存入到 data 中
# print(request.cookies) # 请求携带的cookie
# print(request.environ) # 请求原数据信息
# print(request.headers) # 请求头信息
# print(request.full_path) # 请求路径带参数 /?id=1&name=yang
# print(request.values) # 请求数据,包含GET的args和POST的formdata(不推荐使用)
# print(request.host) # 当前服务主机端口信息 192.168.16.14:8888
# print(request.host_url) # 请求主机信息 http://192.168.16.14:8888/
# print(request)
# print(request.query_string) # bytes类型url请求查询参数
# print(request.base_url) # 请求路径(ip+port+路径,不带参数)http://192.168.16.14:8888/
if request.method == 'GET':
return render_template('login.html')
elif request.method == 'POST':
print(request.files.get('myfile').filename) # POST方式上传的文件数据
filename = request.files.get('myfile').filename # POST方式上传的文件名
if filename:
request.files.get('myfile').save() # POST方式上传的文件保存
return '200 ok'
if __name__ == '__main__':
app.run('0.0.0.0', 8888, debug=True)
templates模板文件中的页面login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>login</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
用户名:<input type="text" name="username">
密码:<input type="password" name="pwd">
文件:<input type="file" name="myfile">
<input type="submit" value="提交">
</form>
</body>
</html>
flask之request的更多相关文章
- flask 之request用法
每个框架中都有处理请求的机制(request),但是每个框架的处理方式和机制是不同的 为了了解Flask的request中都有什么东西,首先我们要写一个前后端的交互 基于HTML + Flask 写一 ...
- Flask中request参数
首先要明确一件事,Request这是个对象,不管使用PHP还是python还是什么java语言,虽然request这个对象可能叫的名字不一样,(在其他语言中可能叫什么HttpRequest),但是原理 ...
- 【Flask】关于Flask的request属性
前言 在进行Flask开发中,前端需要发送不同的请求及各种带参数的方式,比如GET方法在URL后面带参数和POST在BODY带参数,有时候又是POST的表单提交方式,这个时候就需要从request提取 ...
- Flask入门request session cookie(二)
1 HTTP方法分类 1 GET 浏览器告知服务器:只获取页面上的信息并发给我.这是最常用的方法. 2 HEAD 浏览器告诉服务器:欲获取信息,但是只关心消息头 .应用应像处理 GET 请求一样来处理 ...
- flask中的Flask、request、render_temple、redirect和url_for
学flask也有一个多星期了,对这个web框架也有了一点的了解,梳理一些基础的知识点,还是小白一只,代码写得比较low,若文章有错误的地方欢迎大佬随时指正,代码中被注释掉的代码是关于预防csrf,无视 ...
- Flask中request与response参数
目录 request response request from flask import Flask from flask import request app = Flask(__name__) ...
- FLASK 三剑客 request jinjia2
Flask Web 框架Django 15 优势 : 组件全 - admin - Model ORM - Forms 教科书式 劣势 : 加载所有组件 - 占用资源较高 重型框架 Flask 3 优势 ...
- Flask请求request
Flask中的request是一个公共变量,需要导入request from flask import Flask,request 接收url中的参数 @app.route("/req&qu ...
- python flask的request模块以及在flask编程中遇到的坑
一.首先来讲讲遇到的坑: 1.linux下package的打包引用: """ 路径结构如下: ./project ./bin ./api ""&quo ...
- Flask的request和session是从哪里来的?
因为之前一直在项目中使用django, 所以在学习Flask的过程中, 难免对吧django和Flask进行对比, 这一次我发现Flask中的request和session并没有想象的那么简单, 所以 ...
随机推荐
- 安装 wbemcli
安装环境 建立自己的目录后, wget http://vault.centos.org/6.0/os/x86_64/Packages/sblim-wbemcli- ...
- 【集群实战】Rsync数据同步工具
1. Rsync介绍 1.1 什么是Rsync? Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows ...
- Kudu,支持快速分析的新型Hadoop存储系统
Kudu是Cloudera开源的新型列式存储系统,是Apache Hadoop生态圈的新成员之一(incubating),专门为了对快速变化的数据进行快速的分析,填补了以往Hadoop存储层的空缺.本 ...
- Ethtool工具源码剖析
Ethtool工具源码剖析 ethool是一个实用的工具,用来给系统管理员以大量的控制网络接口的操作.可以用来控制接口参数,速度,介质类型,双工模式,DMA环设置,硬件校验和,LAN唤醒操作等.本人经 ...
- sphinx的使用
1.下载地址 http://sphinxsearch.com/downloads/release/ 2.将其解压到D:\sphinx,并在D:\sphinx下新建目录data(用来存放索引文件)与lo ...
- 数学--数论--随机算法--Pollard Rho 大数分解算法(纯模板带输出)
ACM常用模板合集 #include <bits/stdc++.h> using namespace std; typedef long long ll; ll pr; ll pmod(l ...
- visibility: hidden 和 display: none的区别
相同点: 两者都可以将dom元素隐藏 不同点: 1.display: none 隐藏之后不占用文档流,而visibility: hidden却会占用文档流,如果要在隐藏元素的同时获取其尺寸信息,那就可 ...
- tomcat8调优
a. tomcat的运行原理: 1. Tomcat是运行在JVM中的一个进程.它定义为[中间件],顾名思义,是一个在Java项目与JVM之间的中间容器. 2. Web项目的本质,是一大堆的资源文件和方 ...
- VMware15.5.0安装MacOS10.15.0系统 安装步骤(下)
VMware15.5.0安装MacOS10.15.0系统安装步骤(下)超详细! 接上文第5条如果没看过上篇的话传送门:https://www.cnblogs.com/Top-chen/p/128024 ...
- 从入门到精通(分布式文件系统架构)-FastDFS,FastDFS-Nginx整合,合并存储,存储缩略图,图片压缩,Java客户端
导读 互联网环境中的文件如何存储? 不能存本地应用服务器 NFS(采用mount挂载) HDFS(适合大文件) FastDFS(强力推荐