# coding:utf-8 from flask import Flask, request app = Flask(__name__) @app.route('/index', methods=['GET', 'POST']) def index(): return 'test ok' if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
不重要的注意:为了让文档看起来不那么冗长,我选择性的减小了空行html
经过上面一系列的操做大体应该了解若是发送一次请求,接下来的有些操做,有多是文字形容不太清楚的。因此仔细的看一下截图的每个带有选框和你下载Postman不同的地方。前端
一个包含解析过的从 POST 或 PUT 请求发送的表单对象的 MultiDict 。请注意上传的文件不会在这里,而是在 files 属性中。python
一个包含解析过的查询字符串( URL 中问号后的部分)内容的 MultiDict 。json
一个包含 form 和 args 所有内容的 CombinedMultiDict 。flask
一个包含请求中传送的全部 cookie 内容的 dict 。后端
若是表单提交的数据没有以已知的 mimetype 编码,为性能考虑,数据会不经修改存储在这个流中。大多数状况下,使用能够把数据提供为字符串的 data 是更好的方法。流只返回一次数据。api
进入请求的标头存为一个相似字典的对象。浏览器
若是进入的请求数据是 Flask 不能处理的 mimetype ,数据将做为字符串存于此。服务器
一个包含 POST 和 PUT 请求中上传的文件的 MultiDict 。每一个文件存储为FileStorage 对象。其基本的行为相似你在 Python 中见到的标准文件对象,差别在于这个对象有一个 save() 方法能够把文件存储到文件系统上。cookie
底层的 WSGI 环境。
当前请求的 HTTP 方法 (POST , GET 等等)
# coding:utf-8 # request中包含了前端发送过来的全部请求数据 from flask import Flask, request app = Flask(__name__) @app.route('/index', methods=['GET', 'POST']) def index(): # 接收客户端请求过来的数据 # 经过requset.form能够直接提取请求体中的表单格式的数据, 是一个相似字典的对象 name = request.form.get('username') pwd = request.form.get('password') return 'username = %s, password = %s' % (name, pwd) if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
一个不重要的注意:请把注意点放在Flask框架上,这个Postman不是重点,主要是后端经过request接收前端发送过来的数据才是重点,理清request才是最主要的。你也能够经过页面发送到视图,你任何能够发起请求的方式都是能够的不仅仅只有Postman
from flask import Flask, request app = Flask(__name__) @app.route('/index', methods=['GET', 'POST']) def index(): name = request.form['username'] # 注意这里为更改代码 # name = request.form.get('username') pwd = request.form.get('password') return 'username = %s, password = %s' % (name, pwd) if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
from flask import Flask, request app = Flask(__name__) @app.route('/index', methods=['GET', 'POST']) def index(): # name = request.form['username'] name = request.form.get('username') # 此次是经过get()方法接受数据 pwd = request.form.get('password') return 'username = %s, password = %s' % (name, pwd) if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
from flask import Flask, request app = Flask(__name__) @app.route('/index', methods=['GET', 'POST']) def index(): # 经过get方法只能拿到多个同名参数的第一个 name = request.form.get('username') pwd = request.form.get('password') # 经过getlist() 能够获取多个 name_list = request.form.getlist('username') return 'username = %s, password = %s, username_list = %s' % (name, pwd, name_list) if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
from flask import Flask, request app = Flask(__name__) @app.route('/index', methods=['GET', 'POST']) def index(): # 若是是请求体的数据不是表单格式的(如json格式),能够经过request.data获取 json_data = request.data return 'json_data = %s' % json_data if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
from flask import Flask, request app = Flask(__name__) @app.route('/index', methods=['GET', 'POST']) def index(): # args是用来提取url中的参数(查询字符串) age = request.args.get('age') city = request.args.get('city') return 'age : %s, city : %s' % (age, city) if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
from flask import Flask, request app = Flask(__name__) @app.route('/', methods=['POST']) def upload(): # 使用files属性来访问保存在内存中或者文件系统中一个临时的位置的这个上传文件 file_obj = request.files.get('pic') # 使用save方法来保存刚刚获取的上传文件 file_obj.save('/home/python/图片/upload.jpg') return '文件上传完毕' if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
# coding:utf-8 # request中包含了前端发送过来的全部请求数据 from flask import Flask, request from werkzeug import secure_filename import os # 存储上传文件的路径 UPLOAD_FOLDER = '/home/python/图片/' # 容许的文件类型 ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) app = Flask(__name__) # 将路径添加到配置中 app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER # 用来验证用户上传的文件是不是容许的 def allowed_file(filename): # 判断文件中是否有. and 用.只截取1次文件名获得的一个列表,选择列表第二个值看是否属于被容许的文件类型 return '.' in filename and filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS @app.route('/', methods=['POST']) def upload(): # 使用files属性来访问保存在内存中或者文件系统中一个临时的位置的这个上传文件 file_obj = request.files.get('pic') # 判断用户是否上传了文件 和 文件是不是容许的类型 if file_obj and allowed_file(file_obj.filename): filename = secure_filename(file_obj.filename) file_obj.save(os.path.join(UPLOAD_FOLDER, filename)) return '文件上传完毕' else: return '文件上传失败' if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)