什么是开始学习django的最佳方式?

SRU*_*CLA 54 python django

我真的想构建一个Web应用程序; 简单的东西,也许是神奇宝贝卡的数据库?

我听说过关于Django的优秀事情.哪里是最好的起点?

Her*_*aaf 78

这是我在博客上发表的一篇文章,回答了几乎完全相同的问题.它包含了这里已经给出的许多答案,以及一些额外的建议,其中一些是我的个人观点,其他可能与我不同.希望有人发现它有用:

建立一些东西

我能给出的最好的建议是从建立一些东西开始.Django典型的"Hello world"是一个博客网站,我也建议从那开始.Django框架试图使常见任务变得非常简单和简单,具有简单博客功能的网站就是一个典型的例子.一个流利的Djangonaut可以使用所有可用的库在不到一个小时的时间内编写一个简单的博客网站,因此它是一个很好的起点,可以了解Django的工作方式.

Django书

当然,在你可以跳入并开始编码之前,你需要让你的系统启动并运行Django,并学习基础知识.Django Book是一个很好的资源.作者在一段时间内没有对它进行过工作或保持最新(由于其年轻性,Django经常变化),但它可以在线免费获得并且强烈推荐.阅读前几章有关如何设置系统,Django的所有部分如何融入MVC模型,以及Django如何做到如此简单以至于其他框架不必要地令人厌烦的惊讶.

Django教程和文档

Django网站上有很多很棒的教程,一旦你掌握了Django的基础知识,你几乎不需要任何其他东西.文档也很棒,去看看自己.

选择一个Django版本

对于初学者来说,选择一个Django版本并坚持下去是个好主意.在撰写本文时,大多数人都使用了两个主要版本,Django 1.2和Django 1.3,以及开发版本(Django开发人员在将其作为主要版本发布之前的工作和测试更改的版本).当你刚开始时不要使用开发版本 - 你一定会遇到麻烦.

最重要的是Django已经存在了大约四五年了,你将发现分散在谷歌上的大部分教程将针对Django 1.0和1.1.这很好,而且大多不是问题,但是Django增加了很多功能,从而使大部分教程和代码片段都过时了.尽可能坚持针对您的版本的教程.

一旦选择了版本,请确保始终阅读Django文档的正确版本.您将在右侧边栏和您所在页面的网址中看到,您可以更改您正在查看的版本.Django的文档非常出色,远远超出其他任何内容,作者非常谨慎地明确说明哪些函数是该版本的新功能,哪些功能在以后的版本中已弃用.只要确保你已经意识到这一点,这样你就不会浪费无数个小时来尝试制作你的版本中没有的工作.

知道干什么意味着什么,并实践它

DRY:"不要重复自己"是Django背后的核心原则之一.如果你发现自己在Django中复制粘贴任何内容,几乎可以肯定有更好的方法.大多数程序员都会从经验中知道为什么这样的重复是不好的,但简而言之,如果你的代码中的某些东西需要稍后改变或者你在某个地方犯了错误,你只需要在一个地方改变它.这很有用,因为如果有多个地方需要更改,而您忘记了该实例,那么您将在代码中引入错误和错误.

远离基于阶级的观点

Django 1.3的新增功能是一整套基于类的通用视图.如果您不知道这意味着什么,请不要担心.关于Django的绝大多数教程和书籍都不会提及它,主要是因为它是如此新颖.这是一个旨在减少创建视图的重复的功能,从而遵循DRY原则.虽然它确实在某种程度上做到了这一点,但它也引入了许多黑魔法以及需要经常在Django源代码中进行刮擦以查看正在发生的事情.对于初学者来说,这不太理想.此外,现在为基于类的视图提供的错误消息通常会指向完全错误的方向.远离他们,而不是在开始时使用功能视图,因为大多数教程将告诉你.当你对Django有点习惯,并且你发现功能视图的重复令人沮丧时,请查看基于类的通用视图.

不要在Google App Engine上开始托管

虽然GAE对于可扩展的Django应用程序是免费且非常好的,但它也会对您的登录过程带来很多限制,而且这方面的文档非常缺乏.作为一个初学者,不要从那条路线开始,因为许多正常的Django文档突然不适用,你不知道该怎么做.相反,从epio,gondor.io许多其他服务开始.Epio仍处于测试阶段,但也有免费托管选项(每月使用量达到一定数量).由两个Django核心开发人员开发,我强烈建议使用它们 - 它与Heroku for Ruby on Rails相当.Ep.io正在关闭,但Heroku最近还添加了一个Python托管选项.

使用StackOverflow,提出问题

我的最后一条建议是在你遇到困难时使用StackOverflow.首先,他们已经找到了你能想到的任何问题的答案.如果您在网站上找不到它,找到问题答案的一个好方法是在Google搜索条件中附加"stackoverflow".否则,发一个问题,让Django社区帮助你.事实证明,除了实际阅读Django代码(你还应该这样做)之外,它是我在过去几年中学习Django黑暗面的最大资源.祝你好运,享受!

  • 只是想补充一点,pythonanywhere对于想要主持django应用程序的初学者来说是一个很好的起点.绝对崇高,不,我不是他们的公关人.我一直在使用他们的免费帐户主持一个小博客一段时间,我觉得它很好. (4认同)

小智 14

通过阅读Django教程构建您的第一个Django Web应用程序.

  • 我不同意.本教程有一个初学者的详细信息,它的单独章节(模型,视图等)的方法并不足够鼓舞人心.相反,我会推荐一个整体的案例研究,比如`tango with django`,你可以从头开始跟进整个项目. (2认同)

Gar*_*yde 9

阅读Django书.

  • 这本书现在已经过时了. (17认同)

ShZ*_*ShZ 8

建立一些东西 任何东西.保持它相对简单和短,但开始建立它,并确保你完成它.你想到的项目可能是完美的.

当然,阅读文档和书籍非常有帮助,但是像任何编程一样,真正学习Django的唯一方法就是练习它.建立有形的东西几乎是获得这种实践的唯一方法.


dar*_*ioo 7

如果您不了解Python,请从此开始学习.当人们在不知道至少有关其编程语言的东西的情况下尝试学习框架时,他们往往会非常沮丧.