一些 Django 学习指南 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
phithon
V2EX    Python

一些 Django 学习指南

  •  4
     
  •   phithon
    phith0n 2016-11-14 00:12:30 +08:00 6017 次点击
    这是一个创建于 3332 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 的人多不多,多的话可以拉个学习小组,有心的同学可以组织一下~

    9 条回复    2018-06-05 09:30:51 +08:00
    nowhy
        1
    nowhy  
       2016-11-14 00:21:48 +08:00 via Android
    mark 谢谢推荐
    hujianxin
        2
    hujianxin  
       2016-11-14 00:23:12 +08:00
    非常好!
    hujianxin
        3
    hujianxin  
       2016-11-14 00:25:32 +08:00
    我平时也用一些 Python ,如果写用 Python 写 Web 的话,我只用 Django 。
    现在在我这里, Django 唯一的问题是官方没有对 MongoDB 进行支持,虽然可以通过其他的方案进行解决,但是总有一些让人不爽的地方。
    linuap
        4
    linuap  
       2016-11-14 07:44:42 +08:00 via Android
    mk,最近有点想造个不一样的轮子玩儿
    ansheng
        5
    ansheng  
       2016-11-14 08:54:54 +08:00
    mark ,同需要小。
    HJP1S6tKZ3K9S310
        6
    HJP1S6tKZ3K9S310  
       2016-11-14 10:06:44 +08:00
    太感谢了,正在啃 Tango with Django
    lcy
        7
    lcy  
       2016-11-14 10:14:13 +08:00
    mark
    amustart
        8
    amustart  
       2016-11-14 14:17:44 +08:00
    感谢,原来是时雨牛啊
    alittlewhitea
        9
    alittlewhitea  
       2018-06-05 09:30:51 +08:00
    m
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3004 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 381ms UTC 13:13 PVG 21:13 LAX 05:13 JFK 08:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86