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并没有想象的那么简单, 所以 ...
随机推荐
- Python之路【第二十八篇】:生成器与迭代器
#!/usr/bin/env python # -*- coding:utf-8 -*- #只要函数的代码里面出现了yield关键字,这个函数就不再是一个普通的函数了,叫做生成器函数 #执行生成器函数 ...
- Hadoop学习笔记(三) ——HDFS
参考书籍:<Hadoop实战>第二版 第9章:HDFS详解 1. HDFS基本操作 @ 出现的bug信息 @-@ WARN util.NativeCodeLoader: Unable to ...
- DP 60题 -3 HDU1058 Humble Numbers DP求状态数的老祖宗题目
Humble Numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- FastDFS文件服务器安装指南附安装包和自启动(看此篇就够了)
安装包在最后,本文为博主自己亲自安装记录 转载请注明出处 注意文字不清晰请放大看,放大看!! 安装包地址
- Composition API
介绍 Composition API的主要思想是,我们将它们定义为从新的 setup 函数返回的JavaScript变量,而不是将组件的功能(例如state.method.computed等)定义为对 ...
- js怎么删除数组元素,有哪些删除元素方法
JavaScript删除元素方法 1.根据索引删除数组元素 delete 数组[索引] *注意delete 后面是空格 var arr1=["aa","bb" ...
- docker环境中neo4j导入导出
neo4j 官方文档有说明,使用 neo4j-admin restore / dump 导出和恢复数据库的时候需要停掉数据,否则会报数据库正在使用的错误:command failed: the dat ...
- vue项目-打印页面中指定区域的内容(亲测有效!)
关于打印整个页面的,没什么好说的.今天我给大家分享一个打印指定区域的方法,你想打印哪里,就打印哪里! 我也是刚刚开始接触打印这一块功能的,然后当然是找度娘深入了解了一番啦,期间试了网上的各种方法,有的 ...
- C#MVC通过AJAX调用API方法进行上传下载
//这是写的一个类,具体是上传图片的上传和下载 public class FileResult { public int Code { get; set; } pub ...
- python语法学习第十天--魔法方法
魔法方法二!!! 属性访问:在对属性任何操作时,都会调用 有关属性 __getattr__(self, name) 定义当用户试图获取一个不存在的属性时的行为 __getattribute__(s ...