zoukankan      html  css  js  c++  java
  • flask --- 01 .初始

    一. 四种web框架比较

        Django :
        优点 - 大而全所有组件都是有组织内部开发高度定制化 教科书级别的框架 
        缺点 - 大到浪费资源,请求的时候需要的资源较高
        
        Flask ;
        优势 - 小而精,组件只有Session,第三方机构强烈支持Flask,非常多的三方组件 简单至极
        缺陷 - 由于三方组件的关系 稳定性相对较差 Flask-Session 
        
        Tornado :
        优势 - 异步IO 非阻塞 原生WebSocket
        缺陷 - 组件 == 0 关于异步的不好理解 Debug难上加难 
        
        Sanic :
        优势 - 异步IO 非阻塞 原生WebSocket + 小而精,组件只有Session,第三方机构强烈支持Flask,非常多的三方组件
        缺陷 - 复杂度


    扩展知识:
    QPS = 请求每秒钟的次数 QPS == 10
    时间片 cpu 工作一次的时间单位
    py 假线程 - 1个核心
    真线程 - 4个核心 - 四个线程

    二.Flask 的启动

      1.三行启动 flask

        from flask import Flask
        app = Flask(__name__)
        app.run()

      2.六行启动 Flask   "hello"

        from flask import Flask
        app = Flask(__name__)
        @app.route("/")
        def index():
            return "hello"
        app.run()

     三.Flask 的响应

      ①return "hello"        直接返回字符串

      ②return render_template("login.html")

            返回 .html文件

      ③return redircet("/login")

            重定向,返回路径

      ④ return send_file("文件路径")

        打开并返回文件内容,并在响应头中加入

        content-Type:文件格式和 content-Length:文件大小(bytes)

      ⑤ return jsonify({k:v})

        返回一个客户端可以识别的 json 格式字符串,并在响应头

        中加入  content-Type: application/json

     四.Flask 的请求

    需要引入模块:(request是一个公共变量)
    	from flask import request     

      ①  request.args    获取url 中的数据

      ②  request.form    获取 FormData 中的数据

        print(request.form.to_dict())    以字典形式 获取所有

      ③  request.values  获取 args+form 数据(不常用)

      ④  request.data  (数据流) 请求体中放入原始数据

      ⑤  request.json   (字典)   获取请求头中带有

        content-type:application/json 将请求体中的数据反序列化到 json中

        但在 data 中依然存储原始数据bytes

      ⑥ request.files   获取FormData 中的文件数据

              request.files.get('my_file')

       request.files.save(默认提交的文件名)

      

      ⑦  request.method    获取请求方式

    五. template 调为 jinja2 模式

      1.常用方法

    jinja2的常用语法

      {{ }} 引用 执行函数

      {% %} 逻辑代码

    字典的三种调用方式:

     

       2.扩展

        ① 调用函数 

       在 .py 文件中

       在  .html 文件中调用

     

         显示结果为:

    7

      ②  添加全局

        在.py 文件中

        在.html 中调用

      结果为

    7

       ③ macro   (相当于 函数def)

     六. Flask 中的session

      ① 需要调用

    from flask import session

       ②加密

    app.secret_key = "序列化Session需要的字符串儿"

     

     

     七.装饰器

  • 相关阅读:
    如何开发优秀的HTML5游戏?迪斯尼《寻找奥兹之路》游戏技术详解(一)
    C++ Prime学习过程中的细节摘记(三)
    android学习笔记53_采用网页设计软件界面,以及使用android系统内置的浏览器,利用js调用java方法
    黑马韩前成linux从入门到精通の轻松搞定负载均衡
    thinkphp一键清除缓存的方法
    使用treeNMS管理及监控Redis
    ThinkPHP 的缓存大概多久更新一次
    redis查数据
    redis可视化客户端工具TreeNMS
    MeeGo开发进程通信核心 DBus调试工具 狼人:
  • 原文地址:https://www.cnblogs.com/sc-1067178406/p/10678225.html
Copyright © 2011-2022 走看看