《Django企业开发实战》试读:2.5 Django 框架

Django 框架的官网:https://www.djangoproject.com/。 我使用Django 的时间比Tornado 还久,从Java 开发转到Python 开发时,直接从Java 的SSH(Struts+Spring+Hibernate)框架逃离到了Django 上。一开始使用Django 的感觉就是,这玩意太轻便了,比SSH 轻太多了。但没想到的是,在Python 社区中,Django 也算是比较重的框架了。 对于Django 框架,我的评价是,这是一个全功能的Web 开发框架。Web 开发所需要的一切它都包含了,你不需要去选择,只需要去熟悉,然后使用。 2.5.1 新手友好程度 对于前面介绍的两个框架——Flask 和Tornado,你从文档上直接把代码复制到server.py 文件中,然后执行python server.py 命令,就能看到界面。但是在Django 中,你会发现新手需要写好多代码才能看到界面。所以,大部分人觉得Django 对新手并不友好,或者说它有一定的门槛。 其实换个角度来看,你在写完Flask 和Tornado 的第一个Python 文件之后,接下来应该怎么做呢?就拿开发一个Blog 来说吧,你要怎么组织代码和项目结构呢?这些搞定之后,接下来要怎么选择一个适合你的ORM,然后把它配置到项目中?配置文件要怎么共享给其他模块?要怎么来处理用户登录?如果要放到外网访问的话,怎么保证系统安全? 面对这些,初学者可能会完全懵掉。 这些都是实际开发中要面对的问题。我的看法是,微型框架让你能够快速做些小应用,比如就是几个页面,整个项目只需要三四个Python 文件(模块)就搞定了。稍微大一些的项目,那就要考验Python 能力和代码组织或者设计能力了。这对于初学者来说,并不是那么友好。 而Django 提供了更完善的新手指导。一开始可能无法写一个文件就让代码跑起来,但是这一套新手招式打完之后,你可以基于此来完成一个稍微大点的项目。并且,Django 也会帮你处理好我上面提到的那些问题。 2.5.2 内置功能 一开始我也说到了,Django 是作为全功能的Web 开发框架出现的。这意味着它提供的可能远多于你想要的。我们简单列出常用的功能: □ HTTP 的封装——request 和response □ ORM □ admin □ Form □ template □ session 和cookie □ 权限 □ 安全 □ cache □ Logging □ sitemap □ RSS 上面列出了常用的部分,也是我们这次需求涉及的部分。Django 在此之外还提供了更多功能,比如i18n(多语言的支持)和GIS 的支持等。 我的观点是,如果你掌握了Django,就掌握了Web 开发中的大部分知识,因为这个框架涉及Web 开发的所有层面。 2.5.3 总结 对于Web 开发来说,尤其是内容驱动的项目,我推荐用Django 来做,因为即便你选择了Flask或者其他微型框架,然后把插件拼装起来,最终也是基于松散的配置做了一个类Django 的框架,还不如Django 在整体上的整合性强。 Django 作为一个从新闻系统生成环境中诞生的框架,是直接面向企业级开发的。无论是从社区的发展还是整体的生态(比如Django 大会和Django 基金会)来看,Django 都是十分成熟的框架,并且有十分完善的周边生态。 另外,我们也可以看看基于它开发的那些耳熟能详的产品,如Instagram、Disqus、Sentry、OpenStack 等,这些都证明了Django 在企业开发中的地位。 2.5.4 参考资料 □ 官网教程:https://www.djangoproject.com/start/overview/。 □ Django 第三方插件:https://djangopackages.org/。 □ 基于Django 的网站:https://www.djangosites.org/

>Django企业开发实战

Django企业开发实战
作者: 胡阳
副标题: 高效Python Web框架指南
isbn: 7115506892
书名: Django企业开发实战
页数: 392
定价: 99.00元
出版社: 人民邮电出版社
出版年: 2019-2
装帧: 平装