ref: http://weibo.com/ttarticle/p/show?id=2309404041496792822800
我学的也不深,不过可以说说经验和看法。现在说的,可能两年以后看又不一样,仅供参考。
--
9 月中旬开始学 Django ,到 10 月 23 号发布 Mooder 团队贡献系统 。说一下我是怎么学 Django 的。
首先, Django 确实是一个让人爱不释手的 Web 开发框架,他的角色类似于 Ruby on rails ,是敏捷开发的首选。他的定位和 Flask 是不一样的,后者非常灵活,很轻。但当你使用后者开发完一个完整网站后,你会发现:咦,其实你也用到了大量第三方模块,总体重量和 Django 也没太大区别了。
Django 集成了很多模块,比如它自带 Model 、 Form 、 Templates ,而 Flask 则需要引入 SQLAlchemy 、 WTForm 、 Jinja2(自带) 等模块。所以,很多 Django 教程都是从整体入手的,在你什么都不懂的情况下,你读教程会发现:咦,各种看不懂,互相有牵扯,除非全部读完,很多人读了一半可能就放弃了。
教程还是推荐 《Django Book》,不要看中文版,中文版太老了,大量 Django 的好用的一些特性都没有。除非你能找到 Django 1.10 的。
因为之前有 Tornado 和 Flask 开发经验,所以很多概念我上手比较快。特别是 Form ,以前做其他语言开发都没用过。如果你没接触过 Python 开发的话,建议看看这几个视频教程(建议先看 1 或 3 ):
Try Django 1.9 -- Build a Django Blog -- Django 1.9, Bootstrap 3.3, & More.
Advancing the Blog from Try Django 1.9
Try Django 1.10 - A URL Shortening Service
这个小哥讲的特别清楚,而且很勤奋,这上面多个 Django 教程都是他讲的。不过教程是英文的,建议打开 Youtube 的字幕(最好是看英文字母,不要自动翻译,自动翻译的没法看),配合代码一起看也不难。
通常学 Django 都会写一个博客,通过实践来学习。这个路子还是蛮正确的,上面的视频教程也是从写博客入门的。不过我感觉博客轮子太多了,也可以找点别的东西写,比如第三个教程就是写一个短链接平台。
另外,学的时候可以找个开源程序做参考,比如 Mooder 团队贡献系统 ,再推荐一个 djangoStudyTeam / DjangoBlog 。有不懂的地方可以去看看别人的代码。
英文不好的同学……学习难度会上几个层次,实在没什么可帮你的,看看这两个吧,Django 基础教程 、django 的视频教程 。(还是不建议看中文的,这种多半会因为太基础或讲的不好而半途而废)
上手 Django 以后,你会发现很多第三方库将减少你大部分工作量。比如 Mooder 用到的 django-registration-redux ,配合 Django 自带的 auth ,你只需要写模板+扩展逻辑(比如我将用户名登陆改成邮箱登录),其他的包括登录、注册、邮件验证、密码找回、密码修改等逻辑都不需要写啦。
这里再推荐一些插件: Django 常用三方库 ,大多数都比较实用。
最后,我说一下 Django 比较适合的场景吧。 Django 当然做什么都可以,但最适合需要“赶进度”的项目,因为用它开发真的的很快, Django 自带的后台也特别实用;另外,在数据库逻辑关系非常复杂的情况下,你会发现 Django 的 Model 简直太好用的,关系对象之间的互相引用信手拈来,可以简化大量数据库操作。
不知道学 Django 的人多不多,多的话可以拉个学习小组,有心的同学可以组织一下~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.