我试图建立一个基于bottle.py的python网络框架,但我对几种可用的网络框架感到不满意。有些过于严格。强迫我学习很多外星人的东西。有些足够好,但是它隐藏了很多东西,那里有很多魔术。有些太简单了,所以要使“ hello world”以外的事情变得困难。
我熟悉PHP,并且喜欢CodeIgniter。但是我认为python比PHP更好。我喜欢空格缩进及其一致性,再加上python有很多可用的软件包。但是,我找不到任何舒适的网络框架。所以,我尝试做一个:https : //github.com/goFrendiAsgard/kokoropy
在继续构建东西之前,我需要确保是否有任何简单,面向MVC的,可移植的,易于学习的,显式的,具有自动路由功能的Web框架(类似于codeIgniter)? 我玩过django,发现它太困难也太限制性。(可能只是我)Web2py很好。但是我讨厌模型如何自动加载。我也不喜欢它如何隐式导入东西。有许多解决方法,例如添加if if 0:导入内容等,但这对我来说似乎很棘手。
另外,您对我的“手工”网络框架有什么看法?它尚未完成,但是我将创建诸如core_model和core_controller类之类的东西。它将类似于CodeIgniter,但具有更严格的发布功能(例如:应该有action_前缀以使该功能可通过浏览器访问)
在我看来,django是用于高级Web编程的最成熟的Python框架。对于较低级别的任务,有一些选择(扭曲,gevent和其他一些选择,尽管我更喜欢这两个)。
大约5年前,我已经在开发Web框架。它起作用了,并被用于多个项目中,从教育的角度来看,开发过程很有用。
但是,尽管现在有很多基于它的代码,但我承认尝试开发自己的框架并在实际项目中使用它是我的错误。一个小团队不可能使框架与django相提并论。Django的开发速度更快,经过了更好的测试,一个庞大的社区发现了错误等。它具有许多第三方插件,并且已经支持了许多我目前甚至没有想到的东西。
因此,我的建议是:如果您的开发旨在教育和加深对Python,WSGI,Web开发等的了解,则可以继续开发框架。开发一个非常高兴。:-)但是,如果您打算在其上构建真实的项目,请不要在自己的框架上浪费时间。您可以使用django(这是我的偏爱:我认为遵循主流通常是合理的),或者不,这取决于您。但不是自己的框架。
抱歉,如果我的观点令人失望,那当然只是基于我个人经验的观点。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。