zoukankan      html  css  js  c++  java
  • 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模块的方法)

  • 相关阅读:
    数据挖掘实践(23):实战-- 建筑能源得分预测报告(一)
    返回闭包
    函数指针
    Rust 中的 Closure
    Moves, copies and clones in Rust
    Rust的闭包类型(Fn, FnMut, FnOne的区别)
    Clone VS Copy
    rust socket
    A simple UNIX socket listener in Rust
    【firecracker】系统启动与epoll事件循环
  • 原文地址:https://www.cnblogs.com/shenguanpu/p/2299770.html
Copyright © 2011-2022 走看看