django/tonado/flask/bottle

Django,Flask,Tornado(facebook),Bottle,Butterfly 简单比较

  • 一:常用请求参数的接收

    • Django

    • Tornado

    • Flask

    • Butterfly

      • get 请求

      • post 请求

    • Bottle

      • 高级用法

  • 二:常用请求方式的区分

    • Django

    • Tornado

    • Flask

    • Butterfly

  • 三:静态文件和网页模板的处理

    • Django

    • Tornado

    • Flask

    • bottle

    • Butterfly

  • 四:模板语法操作

    • Django

    • Tornado

    • Flask

    • Butterfly

  • 五:Handler 处理函数的返回值

    • Django

    • Butterfly

  • 六:WSGI 处理

    • Django

    • Bottle

  • 七 启动入口

    • Bottle

  • 八 访问日志

    • bottle

一:常用请求参数的接收

Django

Tornado

Flask

Butterfly

放在函数的参数列表中 如下面示例中 str_info, 即为请求参数:

get 请求

get 请求的参数和 handler 函数的参数保持一致 (req 后面的参数)

如请求 http://ip:port/hello?str_info=happy 会将 happy 传到 hello 函数中

post 请求

Bottle

静态路由, 默认是 GET 请求

动态路由 -- 动态路由就是可以用 url 传递不同的内容或参数到网页上

高级用法

注册为类似 butterfly 的方法例子

二:常用请求方式的区分

Django

Tornado

Flask

Butterfly

备注

三:静态文件和网页模板的处理

Django

Django response

Tornado

Flask

模板渲染

bottle

Butterfly

四:模板语法操作

  • 解释模型:解析产生一个数据结构表示模板的结构。渲染阶段遍历那个数据结构,基于找到的指令装配结果文本。

  • 编译模型:解析产生某种形式的可直接执行的代码(比如将模板解析成一个 python 函数)。渲染阶段执行那个代码,产生结果。

Django

Tornado

Flask

Butterfly

五:Handler 处理函数的返回值

Handler 的返回值就是程序的状态码 / 响应包 body/ 响应包 Header 三个部分

Django

Butterfly

六:WSGI 处理

Django

位置

代码

Bottle

七 启动入口

Bottle

Bottle 的 Server Adapters 简直可以说是 WSGI Server 的博览会,从这里您可以了解目前比较流行的 WSGI 实现

例子

八 访问日志

bottle

Last updated