• flask源码阅读笔记


    2011-10-24

    flask是个微型web框架,基于werkzeug提供的基本wsgi和routing功能,扩展出比较完善的server view db访问模块。上手很容易 见友链flask网站的get start。。。

    以下是源码学习笔记

    ---------------------------config.py ---------------------------------------------------
    包含ConfigAttribute(object) Config(dict) 两个类
    1 imp module
    作用:提供一个接口,以import的类似机制 创建或加载module

    使用方法:
    建立文件tt.py
    et = 0
    st =et+1
    在另一个文件中:
    import imp
    tt = imp.load_module('tt',file('tt.py'),'',('','',1))
    print dir(tt)
    print tt.et
    print tt.st

    2 execfile
    无条件执行module 而不会创建新module

    import os
    filename = os.path.join('.', "tt.py")
    d = imp.new_module('config')
    d.__file__ = filename
    print d.__dict__
    execfile(filename, d.__dict__)

    3 from __future__ import with_statement

    ---------------------------session.py ---------------------------------------------------
    继承自werkzeug的 SecureCookie的两个类
    ---------------------------signals.py ---------------------------------------------------
    定义几个signal
    可使用消息分发组件blinker 或flask自定义消息机制
    传递请求开始 结束之类的信号
    ---------------------------wrappers.py ---------------------------------------------------
    base Request,Response
    ---------------------------module.py ---------------------------------------------------
    Implements a class that represents module blueprints.
    ---------------------------blueprints.py ---------------------------------------------------
    插件基础,扩展插件功能可继承自它
    ---------------------------ctx.py---------------------------------------------------
    RequestContext 类 包含request相关的上下文信息,维持一个请求queue,
    ---------------------------testing.py ---------------------------------------------------
    测试类
    ---------------------------templating.py ---------------------------------------------------
    DispatchingJinjaLoader 类
    加载 桥接jinja2模板,
    render_template 等方法,渲染模板
    ---------------------------views.py ---------------------------------------------------
    View 类 提供可选方案,替代注解方式的view action
    ---------------------------app.py ---------------------------------------------------
    Flask 服务器类 重点关注 route映射 和 run(其实是调用werkzeug.serving模块的方法)

  • 相关阅读:
    c++ 网络编程(四) LINUX/windows下 socket 基于I/O复用的服务器端代码 解决多进程服务端创建进程资源浪费问题
    c++ 网络编程(三) LINUX/windows 进程间的通信原理与实现代码 基于多进程的服务端实现
    c++ 网络编程(二) linux 下多进程socket通信 多个客户端与单个服务端交互代码实现回声服务器
    c++ 网络编程(一)TCP/UDP windows/linux 下入门级socket通信 客户端与服务端交互代码
    c++ MFC图像处理CImage类常用操作代码
    vue 模板语法
    占位1
    MongoDB
    Node.js fs-文件系统
    nodeJs 常用模块(一)
  • 原文地址:https://www.cnblogs.com/shenguanpu/p/2299770.html
Copyright © 2020-2023  润新知