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模块的方法)

  • 相关阅读:
    明治meltykiss食后感
    纪念我11月12日,广州移动一面
    《孔XXXX》
    UDP编程 System.Net.Sockets.SocketException (0x80004005): 在其上下文中,该请求的地址无效。
    《诈欺猎人》
    MonkeyImage模块功能详解
    MonkeyDevice模块功能详解
    MonkeyRunner及MonkeyRunner模块简介
    MonkeyServer的使用及自动化
    Monkey工具脚本功能详解
  • 原文地址:https://www.cnblogs.com/shenguanpu/p/2299770.html
Copyright © 2011-2022 走看看