flask和django比较

整体设计架构

  • flask
    只提供核心的一小部分功能,其它的功能由它的插件进行扩充,由bluepoint实现水平扩展
    flask需要自己去diy,比如整体架构的设计、sql使用哪一种、登录认证怎么写、缓存。

  • django
    大而全,从app划分,到session、authenticate、orm、后台管理系统都已经做好了模板,提供的很全面

路由系统

  • flask
    路由系统使用装饰器进行路由注册,也可以通过add_url_rule实现类似django的解耦方式,但较常用的
    还是装饰器的方式。

  • django
    Django的路由设计是采用集中处理的方法,利用正则匹配,这种方式再架构上比较清晰,方便查找,比较适合
    大项目多接口的那种-v-。

配置文件

  • flask
    多种配置方式

    • 1.单个配置

      1
      flask.config[‘xxx’] = xxx
    • 2.可以像django一样文件配置

      1
      2
      3
      4
      DEBUG = True
      TESTING = True
      DATABASE_URI='127.0.0.1:XXX'
      flask.config.from_pyfile(‘某个文件setting’)
    • 3.类配置 生产环境一套、debug一套。

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      class Config:
      DEBUG = False
      TESTING = False
      DATABASE_URI = '127.0.0.1:XXX'

      class ProductionConfig(Config):
      DATABASE_URI = '127.0.0.1:XXX'

      class TestingConfig(Config):
      DEBUG = True
      TESTING = True
      DATABASE_URI = '127.0.0.1:XXX'
  • django
    通过setting进行配置,也可以把setting分成pro、dev的多个文件。

社区

  • flask
    起步比较晚,插件相对较少,但质量还是很高,然后是flask网上关于某些问题的
    解决方案并不是很全,所以对于某些问题可能需要自己思考解决,或提出新的问题
    到社区

  • django
    社区比较完善成熟,大部分问题都可以通过社区得到解决

分享到