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

2015-04-07 17:17:22 +08:00
 mrhero

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

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

6280 次点击
所在节点    Django
28 条回复
alexapollo
2015-04-09 13:03:50 +08:00
我印象最深的就是当时文档宣扬的CreateView,看上去很实用,翻了不知道多久文档终于做出来了
然后就是一句话:what the fuck?
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
2015-04-13 11:03:54 +08:00
@neoblackcap 我一向觉得文档不是越多越好,而是要在刀刃上
我倒是把Django的文档全部翻过三四遍,因为没翻完还真不敢用
最后还是觉得Tornado好用一点
alexapollo
2015-04-13 11:04:31 +08:00
@neoblackcap 最后就是那个问题:是一个框架好还是一个库好?
现在我会选择后者了。
neoblackcap
2015-04-13 12:39:24 +08:00
@alexapollo 我现在在用Tornado,之前也用过Flask跟Django,现在给我的感觉就是百分之90的工作都是用Django能解决的,没必要上Tornado。上了Tornado跟Flask也最后会变成成Django的样子。

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

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

不过我还真没用过Tornado跟Django联动,之前公司是有业务上的需求,但是这两个都是分开的两个服务,用http来交互。
Andrewliu
2015-04-29 23:05:48 +08:00
我之前在学习Django的时候写过一本书, 希望对你有帮助 [Django搭建简易博客教程](https://www.gitbook.com/book/andrew-liu/django-blog/details)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/182159

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX