专栏首页坚毅的PHPflask源码阅读笔记

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mysql DUPLICATE KEY UPDATE 问题

    DUPLICATE KEY UPDATE batch执行时出死锁错误 背景知识 一、 mysql  insert 与 duplicate key: 典型的插入语...

    财主刀刀
  • post multipart data boundary问题 使用curl 向jersey post文件

    原以为curl 模拟post file跟post string类似,-d参数一加 ,header一加就完了,这次遇到个问题,却怎么都搞不定。 curl模拟pos...

    财主刀刀
  • protocol buffer c++ python库安装

    c++库安装较简单,不要用源码,还得下载依赖,就被墙了 https://github.com/google/protobuf/releases  下载一个最新的...

    财主刀刀
  • 使用PyInstaller把Python

    2、解压即用(V2.1)。注意环境变量,或者用pyinstaller.py的全路径,或者到解压目录下使用。*^_^*

    py3study
  • python 模块相互import

    模块A中import B,而在模块B中import A。这时会怎么样呢?这个在Python列表中由RobertChen给出了详细解释,抄录如下:

    py3study
  • Django学习创建应用(4)

    上篇说到项目的初始项目搭建,运行项目,看到一个“祝贺”页面,随着一只火箭发射!我们就完成开发环境的搭建!

    萌海无涯
  • Windows 下 Python如何执行

    在Windows 系统下安装好Pyton后,直接在CMD命令提示符号里 输入CD .py的文件路径, 进入.py文件的所在目录,例如 cd c:\python3...

    py3study
  • python中如何import不同层级的模块 python中如何import不同层级的模块

    main.py为主文件,model.py是我们要引入的文件,则直接import model或from model import *即可。

    尾尾部落
  • 第182天:HTML5——地理定位

    HTML5 Geolocation API 用于获得用户的地理位置。 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。

    半指温柔乐
  • planet 训练过程及debug流程学习笔记

    https://github.com/createamind/Planet/issues/3

    用户1908973

扫码关注云+社区

领取腾讯云代金券