Flask 项目用到的插件和技术

项目地址:

https://github.com/laoqiu/pypress

作者:老秋

老秋是05年开始从事前端设计的设计师,于07年喜欢上python,目前从事python项目开发,学习并使用过一些流行框架,如django,webpy,flask,turbogears。

地区:杭州
Gtalk: [email protected]
网站: http://www.laoqiu.com
豆瓣:http://www.douban.com/people/alawn84/

这个项目是我年初建立的,原意是一个团队博客,如淘宝ued这样的,当然也可以做个人博客,目前还没有时间制作一个比较漂亮一点的皮肤。

项目用到的插件和技术:

  • flask_themes: 皮肤,博客必不可少的
  • flask_sqlalchemy: flask对sqlalchemy的插件,定义了一些方法,使创建models和输出query更方便
  • flask_wtf: 对wtforms的插件,默认加入了csrf功能(防止表单重复提交)和Recaptcha(验证码)
  • flask_uploads: 上传文件的插件
  • flask_cache: 缓存插件(支持memcached,gaememcached,filesystem,simple等)
  • flask_principal: 权限插件 (众多插件中比较复杂的一个, 但也是作用很大的一个),支持各种权限方式,较django admin的权限,我只能说,这个插件让你知道,权限其实很简单。
  • flask_mail: 发送邮件插件
  • flask_script: 项目管理插件,类似django的manager
  • flask_babel: 多语言支持,使用非常方便,(request.accept_languages.best_match判断语言有点怪,好象会根据系统语言判断,待深究)
  • singals: 其实信号不常用,因为sqlalchemy太强大了,不过也会有用它的地方的。
  • twitter: 这个非flask插件,是twitter的api,很有意思的功能,在线发推啦(国内主机不能支持这个功能)
  • pygments: 代码高亮
  • 前端方面我用到了kissy-editor,淘宝编辑器,这个编辑器很不错。

项目结构:

laoqiu.com

    |---manage.py
    |---babel.cfg
    |---pypress
             |---__init__.py
             |---config.cfg
             |---helpers.py
             |---extensions.py
             |---permissions.py
             |---singals.py
             |---twitter.py
             |---static
             |        |---images
             |        |---...
             |---models
             |        |---__init__.py
             |        |---users.py
             |        |---types.py
             |        |---blog.py
             |---views
             |        |---__init__.py
             |        |---frontend.py
             |        |---account.py
             |        |---post.py
             |        |---link.py
             |        |---comment.py
             |        |---feeds.py
             |---forms
             |        |---blog.py
             |        |---account.py
             |        |---validators.py
             |---templages
             |        |---base.html
             |        |---.....
             |---themes
             |---translations

flask对项目的结构没有严格的控制,只有static和templates是默认的(也可以改动),其他随意搭配了,比如上面的models,views,forms结构就够用了,项目大了,可以考虑使用独立apps。

Flask的优点:

  • 项目很新,由pocoo.org出品,发展迅速
  • 较多的第三方插件,且挑选的都是最优秀的第三方,都有较好的文档说明。如sqlalchemy和jinja2
  • 有一颗稳定的心(werkzeug),也是uliweb的核心
  • 松耦合,定制性强

Flask的缺点:

  • 国内flask开源项目较少

你可能感兴趣的:(python,flask)