python - 比较一下Django的url配置和Flask的url配置哪个好一些?
ringa_lee
ringa_lee 2017-04-17 17:58:11
[Python讨论组]

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

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

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

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

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
PHP中文网

首先, 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路由方面哪种方式更好,看个人习惯。

大家讲道理

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号