请教学习 Django 的好方法、书目 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mrhero
V2EX    Django

请教学习 Django 的好方法、书目

  •  1
     
  •   mrhero 2015-04-07 17:17:22 +08:00 6740 次点击
    这是一个创建于 3841 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问下大家有没什么书目,或者好的方法来学习Django
    利益申报:之前学习过些基础的py语法,
    看过些django的入门书目,但是自己没找到好的资源

    又想请问下大家是怎么学习django的呢

    28 条回复    2015-04-29 23:05:48 +08:00
    geeklian
        1
    geeklian  
       2015-04-07 17:20:28 +08:00
    入门:写一个blog
    提高:完善这个blog
    等这个blog不再更新了,也就完成django基本的学习了。
    crazyxin1988
        2
    crazyxin1988  
       2015-04-07 17:21:49 +08:00
    入门:官方文档
    提高:官方文档
    官方文档蛮赞的了 还找啥别的资料啊
    limbo0
        3
    limbo0  
       2015-04-07 17:24:46 +08:00
    tango with django,支持的django版本比较新,配合官方文档看更好.
    twor2
        4
    twor2  
       2015-04-07 17:45:38 +08:00
    @geeklian
    @crazyxin1988
    @limbo0

    给的建议都很赞
    passluo
        5
    passluo  
       2015-04-07 17:46:18 +08:00
    redguy6
        6
    redguy6  
       2015-04-07 19:38:52 +08:00
    roychan
        7
    roychan  
       2015-04-07 19:43:31 +08:00
    边写项目边学吧,我和我同学一起学的。
    sitin
        8
    sitin  
       2015-04-07 19:47:24 +08:00
    如果不喜欢看电子书,有一本django web开发的翻译书也可以看看。
    alexapollo
        9
    alexapollo  
       2015-04-07 20:42:53 +08:00
    写了几年DJANGO,深以为DJANGO的各类文档都是大坑啊。。。
    GG668v26Fd55CP5W
        10
    GG668v26Fd55CP5W  
       2015-04-07 20:43:39 +08:00 via iPhone
    django book 不过用的django版本好像有点老,案例和基础用法讲得不错,还有就是官方文档,详细到不行。
    binarymann
        11
    binarymann  
       2015-04-07 21:05:31 +08:00
    @alexapollo 不是听说django的文档写得很好吗
    lichifeng
        12
    lichifeng  
       2015-04-07 22:10:41 +08:00
    顶一楼,我现在就是看官方文档做自己的BLOG,很好玩

    官方文档很全面,很专业,很好用

    不过刚上手要熟悉一下,熟悉以后就很容易找到自己想要的内容

    django把常用的功能都考虑得很全面了,需要做的轮子很少

    另外stackoverflow是学习django的好伙伴

    非官方的教程坑很多,特别是中文的,很多还停留在1.4,所以少用百度搜DJANGO吧 XDDD
    kchum
        13
    kchum  
       2015-04-08 00:06:43 +08:00
    官方文档是最好的教程。
    cfan8
        14
    cfan8  
       2015-04-08 02:00:46 +08:00 via Android
    同求,最近看了一些书,很多都不贴完整代码,前后端怎么连接起来的都看不清,而且都是example级别的,没有合理的功能层次划分,根本没法借鉴来做项目。想着去GitHub上找点开源的看看,很多甚至更乱。

    可能上述感想和我之前Java写的多有关系,总感觉Python对系统依赖很大,很少有pure Python的库。

    另外官方文档很垃圾,最主要一点是排版很成问题,代码和内容字体太接近根本看不清,也没有完整代码,都是这里一点那里一点,很乱。
    wph95
        15
    wph95  
       2015-04-08 09:08:47 +08:00
    入门:the django book + 做个blog
    提升: 做项目 做项目 做项目
    自己给自己找项目做,在做项目中提升。 多看django官网 不会就去google,stackoverflow
    一定要找有靠谱的项目!
    另外ls有人说官方文档垃圾的?是django的文档吗?还是我们不是一个次元的?
    切记找个靠谱的项目
    assassinpig
        16
    assassinpig  
       2015-04-08 09:20:02 +08:00
    爬官方文档即可
    alexapollo
        17
    alexapollo  
       2015-04-08 10:19:40 +08:00
    @binarymann 你看看就知道了 :)
    关键是组件之间协同起来很麻烦,以及帐号体系、内建的一些系统的理解
    要花很多很多时间在manual上面,但manual经常有些地方是讲不清楚的(三两句话带过了一个功能),或者有很多各种各样的废话
    neoblackcap
        18
    neoblackcap  
       2015-04-09 02:02:25 +08:00
    @alexapollo 这个我还真看过Django的文档,也算老用户了吧,反正我是1.5开始到1.7都有看过,没看出有什么问题啊。
    组件要解决的问题,官方文档已经给出。或许你可以说说你遇到哪些问题,若是我也碰过,可以交流一下。
    我记忆比较深的一个问题是Django貌似是在1.6的版本里面将logging模块直接换成标准库里面的了,然后就没有然后了,我就特意在SO上面发了个贴问具体的配置问题。感觉像这样的点,Django官方文档一句话带过也无伤大雅,毕竟都用标准库了,大家自己去看标准库的文档就好了。
    alexapollo
        19
    alexapollo  
       2015-04-09 12:48:50 +08:00
    @neoblackcap 我看的会比较久一些。有几个点我觉得比较让人头疼的:
    1. 第三方组件的协同,比如django-nonrel和原生的账户体系、后台管理体系
    2. 不同版本的做法经常变动,比如1.5里的用户扩展和1.6里的用户扩展就完全不一样
    3. 对很多细节的含糊带过,比如dispatch的csrf decorator要先打才能到post方法;也比如文档有的地方写get(self, request)有的地方写get(self, request, *args, **kwargs),新手是会非常迷惑的。
    4. 太多的“翻译”类工作了,把原来一两句话的事内建到框架里(而且往往很难用),比如form的一些参数,还不如裸写,这种事情查django文档不如查标准
    5. 第三方库的质量真是一团糟,我给N个第三方库发过bugfix,很多都是发上去以后声称有功能但后续就没维护了,比如social auth,作者占了坑以后也不测一测好不好用……
    alexapollo
        20
    alexapollo  
       2015-04-09 13:00:08 +08:00
    @neoblackcap django文档挺齐,但毫无重点,性质和c++ primer一样,是工具书
    但它的工具性并不好(很难解决问题),往往不如SO上问
    SO上的问题往往也是版本相关的,换一个版本就不能用了
    就算刚好是在刀刃上的问题,也要改很多细节(由于django的一体化设计)

    At least, I think no one want to be a manual expert...
    alexapollo
        21
    alexapollo  
       2015-04-09 13:03:50 +08:00
    我印象最深的就是当时文档宣扬的CreateView,看上去很实用,翻了不知道多久文档终于做出来了
    然后就是一句话:what the fuck?
    neoblackcap
        22
    neoblackcap  
       2015-04-09 21:45:17 +08:00
    @alexapollo 我觉得你说提的1,2,5点其实都是一个问题,问题就是Django自身的版本更新不向后兼容,然后第三方库就崩了。这个问题嘛,我觉得官方文档肯定是解决不了的,只能靠第三方库的作者,当然自己有心自己去fork然后更新就好。

    至于一些文档上面的小问题或者模糊的问题,这个嘛,我觉得你说的是有道理的,但不是每个人都觉得有道理,所以很难说官方没有详细写就属于不好的行为。这个嘛,我个人是建议你向Django小组发个issue然后直接自己动手将细节补上去就好了,完善文档,对谁都好,但是有的时候有经验的程序员就不想看一些标准的东西,比如http标准里面的东西,在Django里面再写一次就没什么必要了。

    然后Django的文档的确就是定位在工具书(我个人觉得),没事千万别一页页去翻。至于工具性好不好,这个看问题,我自己遇到的一些问题就看文档就能解决了,比如Model层要实现泛型,用ContentType就挺好用了。

    至于Class-bass View这个我还真没用过,之前都是写Function-base View的,到了要用Class的时候,就变成用Django-rest-framework
    alexapollo
        23
    alexapollo  
       2015-04-13 11:03:54 +08:00
    @neoblackcap 我一向觉得文档不是越多越好,而是要在刀刃上
    我倒是把Django的文档全部翻过三四遍,因为没翻完还真不敢用
    最后还是觉得Tornado好用一点
    alexapollo
        24
    alexapollo  
       2015-04-13 11:04:31 +08:00
    @neoblackcap 最后就是那个问题:是一个框架好还是一个库好?
    现在我会选择后者了。
    neoblackcap
        25
    neoblackcap  
       2015-04-13 12:39:24 +08:00
    @alexapollo 我现在在用Tornado,之前也用过Flask跟Django,现在给我的感觉就是百分之90的工作都是用Django能解决的,没必要上Tornado。上了Tornado跟Flask也最后会变成成Django的样子。

    一个框架好还是一个库好?这个问题就去看Flask作者的经历就可以了,当你了解你的业务,你的需求,然后你的能力又够强的时候,这些框架都不一定适合你用,但是你可以构建你自己的框架,自己定制自己的。

    库也是需要维护的,虽然大家会说库可以替代可以不强制我们按它的规则来写。但是库并不能大而全,对于团队协作也是个问题,毕竟不是每个人都精通Python,有些人连Python的C语言扩展都没写过。你选一大堆库,这个成本是很大的。
    alexapollo
        26
    alexapollo  
       2015-04-13 16:08:28 +08:00
    @neoblackcap 我觉得写过PyObject的人肯定是少数。。
    Django里的东西是可以写的很漂亮,但是也就“技止于此”
    你有用过Tornado和django的联动吗?
    neoblackcap
        27
    neoblackcap  
       2015-04-13 17:49:54 +08:00
    @alexapollo 我觉得没有了解过PyObject的人都不能说会Python吧,毕竟这是这门语言的一大优势,而且是性能有需要的时候就要上的。

    不过我还真没用过Tornado跟Django联动,之前公司是有业务上的需求,但是这两个都是分开的两个服务,用http来交互。
    Andrewliu
        28
    Andrewliu  
       2015-04-29 23:05:48 +08:00
    我之前在学习Django的时候写过一本书, 希望对你有帮助 [Django搭建简易博客教程](https://www.gitbook.com/book/andrew-liu/django-blog/details)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3129 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 00:35 PVG 08:35 LAX 17:35 JFK 20:35
    Do have faith in what you're doing.
    ubao 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