Skip to content

DxfAndCxx/cottle

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

Cottle: Python Web Framework

cottle 是一个小型的体现restful思想的web框架.

cottle 的设计灵感来自于bottle与web.py.bottle是一个优秀的小型的web框架.

web.py也是一个优秀的框架. web.py一个吸引我的地方在于使用类来处理一个url. 不同的请求方法对应于类的不同的处理方法. 这让我感觉与restful 思想非常接近. 并且我感觉可能在类的应用上更进一步, 从而发挥出类的更多的特性, 也可以更加完整地体现restful 思想.

另一个方面bottle 对于web的底层处理让我非常着迷. 处理非常优雅.

所以我在bottle的源代码的基础上整合进了web.py的类处理风格. 并进一步利用了类的处理方式带来的便利.

这与bottle 的方向是完全不同的所以没有进行整个进bottle, 而是试着写一个完全新的web框架.

在bottle 与web.py 中对于一些底层的信息的获得是通过一些引用一些其它的方法得到的. 如bottle 中非常优秀的设计request与response. web.py中的ctx. 但是如果把这些对象直接绑定到回调类上可能是一个更好的方法, 不是吗?

同时注意到一件事, web.py中对于类的实例是在每一次请求中实现的. 但是我更加喜欢在程序起来的是时候,把所有的回调用到的类都实例化. 在我看来这是一种优化. 同时对于同一个url 的多次请求之间可以保存一些信息, 而不用在全局的范围里保存数据. 如请求计数器, 可以很方便地把计数器保存在实例中.

  • query: url 参数
  • forms: post 参数
  • params: url 提取

方法:

  • getcookie: 返回cookie value. 参数: key.
  • template: 模板返回. 参数: 模板名.
  • abort: 异常退出. 参数异常码.
  • redirect : 重定向. 参数url.
  • cfile: 文件返回. 参数文件名, 根目录.

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%