zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    android动画(一)Interpolator
    android端手机测试体系 (转)
    Android的一些常用命令提示符(cmd)指令[转]
    五招避开银行小额账户管理费[转]
    WEB服务器、应用程序服务器、HTTP服务器区别[转]
    如何解决 “invalid resource directory name”, resource “crunch”[转]
    Eclipse中给jar包导入JavaDoc的方法
    rotium(无源码)获取控件较简单的办法
    基于Robotium框架的测试工程如何导入Robotium包的源码
    常用模块中函数的作用
  • 原文地址:https://www.cnblogs.com/open-yang/p/11169980.html
Copyright © 2011-2022 走看看