• flask第一章 flask启动 路由视图 FlaskRequest jinja2 FlaskSession


    一.简单了解flask web框架

      优点: 小而精,组件只有session,第三方机构强烈支持flask,极其简单

      缺点: 由于第三方软件的关系,稳定性相对较差,flask-session

    扩展知识: 

      QPS = 请求每秒的次数  

      时间片 : CPU工作一次的时间单位

      

    二.Flask的启动 

      三行代码启动:

    from flask import Flask 
      app=Flask(__name__)   #实例化Flask对象
          app.run()   #启动Flask

      六行代码启动Flask hello :

    from flask import Flask
    
    app=Flask(__name__) 
    
    @app.route('/hello')
    def hello():
        return 'hello'
    
    app.run(debug=True)  #debug的意思是每次启动自动刷新代码,不需要再手动启动代码

      Flask响应 

    Response  三贱客
        httpresponse   相当于  'hello'
        render             相当于  render_template('login.html')
        redirect            相当于  redirect('/login')
    
    flask封装
      send_file()     return send_file('文件的路径')
        打开并返回文件内容 确定会在响应头中加入content-type:文件格式 + content-length :文件大小
      
      jsonify({k:v})   return jsonify({k:v})
        返回一个客户端可以识别的json格式字符串,会在响应头中加入content-type:application/json

      Flask request

        1.request.args 获取URL中的数据
        2.request.form 获取FormData中的数据
        3.request.values 获取args+form 知道就可以了
        4.request.data 流 # 获取请求体中的原始数据
        5.request.json 字典 # 请求头中带有Content-Type:application/json ,
    将请求体中的数据反序列化到json中 但是在data中依然存储这原始数据bytes    
        6.request.files 获取FormData中的文件数据 request.files.get("my_file")
          request.files.save(默认提交的文件名)
          
        记住:request.method    

    5.jinja2 -template

      语法和django大概一致,只是django中在模板中不能使用中括号和小括号,但是在flask中可以使用

      {{ }}  引用,执行函数
    
      {% %} 逻辑代码

    6.session  (flask中的session,与django中的session不同)

    from flask import session
    
    app.secret='序列化session需要的字符串'
    
    在视图函数中 
        session['key'] = 'values'

    扩展 restAPI

      请求响应为json

      请求支持的协议为http 8种请求方式

    这里我们列举5种

      GET , POST ,PUT ,DELETE ,OPTIONS

      查      , 增      ,改    , 删           , 跨域请求

  • 相关阅读:
    关于systemgenerator的学习方法
    关于FPGA的非HDL设计方法比较
    vivado simlation post-implementation "not found module"问题分析
    快速重启tomcat的shell脚本
    python2 和python3报错:No module named ‘MySQLdb'”
    CentOS生产环境无网络安装percona-xtrabackup2.4【RPM安装教程】
    磁盘system ID解释
    对硬盘进行扩容,LVM逻辑卷创建案例实记
    LVS的原理
    毕业1年,我是如何走向运维工程师的
  • 原文地址:https://www.cnblogs.com/zty1304368100/p/10680693.html
Copyright © 2020-2023  润新知