首页 > 比较一下Django的url配置和Flask的url配置哪个好一些?

比较一下Django的url配置和Flask的url配置哪个好一些?

打算基于Tornado设计一个简单的Web框架扩展,改造一下url编写方式,我比较喜欢Flask的url配置,通过一个装饰器来设置视图函数的url,但是这么配置有一个问题,

|- app
    +- dir
    |   |- views
    |       |- hello_view.py
    |       |- world_view.py
    |       |- ...

像以上的模块结构,那么应用启动加载url前需要先加载各个视图模块。

大家觉得两种url配置方式各有什么优劣呢?装饰器注册url的方式需要先加载各种视图模块有没有什么好的解决方式?


个人觉得,看网站规模大小吧,网站规模小,二者都差不多,Flask优雅点,但是网站规模大了,一定是Django的集中式路由管理更好点。


首先, Flask这种风格是借鉴了如SpringMVC的这种框架,用装饰器来做路由,举个Java例子

@Controller
@RequestMapping("/")
public class Index {

    @RequestMapping(method = RequestMethod.GET)
    public String index() {
        System.out.println("index called");
        return "index";
    }
}

SpringMVC已经有很多商业化的运用,所以这种松散的路由模式是有存在市场的。
而Django借鉴了如Rails的DRY原则(Don’t repeat yourself (DRY)),所以默认优于配置的比较多。

从路由角度来说,个人觉得Django更灵活,如果比较熟悉正则的话,改掉一个url的路由很轻松,但在flask里稍显麻烦。

从实战角度来说,Django重量些,Flask轻量些,Django性能差点,Flask好点,Django文档好些,Flask差点,Django ORM很多人吐槽很烂,Flask 默认用sqlalchemy基本上是python ORM的标准了。

反正各有千秋,很难说在Url路由方面哪种方式更好,看个人习惯。

【热门文章】
【热门文章】