姜哥在初学Django之时,特别苦恼,烦恼的是什么呢?自身掌握了一定的python语法基础,希望真的能够通过自己的双手建立一个完整的网站,但是网上缺少一个实战性的教程案例,搜遍了各大书店,也是没有。
经过姜哥这几年的摸索,探索和总结了自身对Django的理解,也有了一些最佳实践,想在这里分享出来,给广大的初入Django门的小伙伴一些帮助。本文适合的阅读对象是,掌握了基本的python语法的小伙儿伴,基本语法的意思就是知道python的语法是靠缩进,能看懂if…else…和for循环的就差不多了。
在这里有几个大家关心的问题:1、用什么框架?2、怎么管理代码?3、怎么部署投产?听姜哥一一道来。
1、用什么框架?
姜哥从事了多年的系统研发,从asp到asp.net然后经过多年的java历练,直到姜哥发现了python+django,简直了,再也没有比这个组合更简单快捷的开发框架了。在这之前,姜哥从来不知道开发可以如此简单,基本不需要关心业务逻辑之外的乱七八糟的杂事,只需要把关注点放在核心的业务逻辑即可。网上一搜Django的优点,说的都是什么松耦合紧耦合之类的大道理,姜哥比较接地气,在我看来,主要有以下几点优势:
- 只需要专注实现业务逻辑,可以非常快速的实现系统功能。
- 几乎不需要使用SQL语句,这里的几乎的意思是,姜哥从来没有用过,所以姜哥的SQL水平日益退步。
- 自带一个简易后台,零开发,前期造数据测试非常方便。
- django框架仍在持续升级中,各种第三方插件较多,引用的外部插件热插拔。
2、怎么管理代码?
Git是目前最为流行的代码管理工具。有些小伙伴可能没有使用过版本管理工具,这里给大家普及一下,版本管理工具最核心的功能就是保存你工作的每一个过程,让你的工作永远不会白费。
给大家讲一个小故事大家就会明白,为什么要用代码管理工具:
小王是一个程序员,很流弊啊,经常一个人开发一个系统。他总是喜欢把代码保存在自己的电脑上,觉得也没有什么不妥,反正代码只要他一个人看就行了,忽然有一天,电脑坏了,我擦,那真叫欲哭无泪。
小李知道这件事情以后,赶紧注册了一个百度云,每天把代码保存一份到百度云上,嘿嘿,这下不怕电脑坏了吧!有一天,小李正在开发一个新的功能,可能还需要几天才能完工,这时候,老板突然打电话给小李:小李啊,客户有个紧急需求,要改一下系统,你马上办理一下。这下可如何是好?手里的工作弄了一半,这新代码往哪里写呢?当然,小李最终凭借自己的执着和耐心,还是从百度云里找了一份代码出来修改交差了。
又有一天,小王和小李两个人接了个比较大的项目,要两个人共同努力才能完成,这下可好,代码在两人之间,该如何保持同步呢?
其实上面这个小故事就告诉了我们代码管理工具的功能,Git就是让大家能够把多个版本的代码管理起来,随时切换到各个版本中,也能让多人协同工作,保持代码在多人中的同步。而Git工具背后的http://www/github.com就是目前最流行的代码托管仓库,把代码放在那里,永远永远都不会丢失。放在Git上,还有一个好处,就是方便部署,请继续看下节。
3、怎么投产部署
各位新入门的小伙儿伴,一般都是本地开发环境开发,基于windows系统。
姜哥在这边推荐正式的生产环境,使用linux。一方面,因为生产环境一般需要远程维护,linux使用命令行,可以让大家的工作脚本化,要做的工作直接贴在一个文本文件里,到时候直接一条一条贴进去就行了;另一方面,基于linux的服务器,资源开销相对windows来说更小,让大家花更好的成本;再次,linux病毒几乎没有,大家不需要考虑病毒这方面的安全问题。
最后,简单提一句,由于我们选择了python+django+git,我们的部署将变得十分简单。姜哥在部署的时候,基本上只要三条命令:
- git pull –从git上同步最新的代码
- bash stop.sh –停止当前的应用系统
- bash start.sh –启动当前的应用系统
对,就是这么简单,如果你也希望你的工作能和姜哥一样轻松愉快,那么,请继续阅读姜哥的下一篇博客:环境搭建
最后,唠叨一句,做技术永远需要实践,请大家跟着姜哥一起动手,在实践中会有很多问题,有任何问题,也欢迎大家与姜哥一起探讨交流。
——————
姜哥的邮箱: djangoworker@163.com
姜哥的微信:
——————