flask之request

 1 from flask import Flask, render_template, redirect, jsonify, send_file, request, session
 2 
 3 app = Flask(__name__)
 4 
 5 
 6 @app.route('/request/', methods=['GET', 'POST'])
 7 def home():
 8     print(request.method)   # 请求方式
 9     print(request.url)      # 请求完整路径(ip+port+路径+参数)http://192.168.16.14:8888/?id=1&name=yang
10     print(request.path)     # 请求路径/
11 
12     print(request.args)     # url请求查询参数
13     print(request.form)     # Formdata表单数据(可以采用GET方式)
14     print(dict(request.form))
15     print(request.form.to_dict())#MultiDict字典转化成常见的pyhton格式字典
16     print(request.files)    # 文件上传(不能用GET方式上传文件,同时在form中添加属性enctype="multipart/form-data")
17   print(request.values)  #获取url中get和post中的formdata数据
18     print(request.json)     # 如果在请求中写入了 "application/json" 使用 request.json 则返回json解析数据, 否则返回 None(request.data中也有)
19     print(request.data)     # 不属于form/formData或mimetype(http://www.w3school.com.cn/media/media_mimeref.asp)的描述,request就会将无法处理的参数转为Json存入到 data 中
20 
21     # print(request.cookies)        # 请求携带的cookie
22     # print(request.environ)        # 请求原数据信息
23     # print(request.headers)        # 请求头信息
24     # print(request.full_path)      # 请求路径带参数 /?id=1&name=yang
25     # print(request.values)         # 请求数据,包含GET的args和POST的formdata(不推荐使用)
26     # print(request.host)           # 当前服务主机端口信息  192.168.16.14:8888
27     # print(request.host_url)       # 请求主机信息 http://192.168.16.14:8888/
28     # print(request)
29     # print(request.query_string)  # bytes类型url请求查询参数
30     # print(request.base_url)  # 请求路径(ip+port+路径,不带参数)http://192.168.16.14:8888/
31 
32     if request.method == 'GET':
33         return render_template('login.html')
34 
35     elif request.method == 'POST':
36         print(request.files.get('myfile').filename)  # POST方式上传的文件数据
37         filename = request.files.get('myfile').filename  # POST方式上传的文件名
38         if filename:
39             request.files.get('myfile').save()  # POST方式上传的文件保存
40         return '200 ok'
41 
42 
43 if __name__ == '__main__':
44     app.run('0.0.0.0', 8888, debug=True)

templates模板文件中的页面login.html

  

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>login</title>
 6 </head>
 7 <body>
 8 <form action="" method="post" enctype="multipart/form-data">
 9     用户名:<input type="text" name="username">
10     密码:<input type="password" name="pwd">
11     文件:<input type="file" name="myfile">
12     <input type="submit" value="提交">
13 </form>
14 </body>
15 </html>

 

posted @ 2019-07-11 14:54  笑得好美  阅读(305)  评论(1编辑  收藏  举报