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

时间:2010-10-29 04:26:55

标签: python django

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

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

7 个答案:

答案 0 :(得分:78)

这是我在博客上发表的一篇文章,回答差不多exactly same question。它包含了这里已经给出的许多答案,以及一些额外的建议,其中一些是我的个人观点,其他可能与我不同。希望有人发现它很有用:

构建一些东西

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

Django Book

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

Django教程和文档

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

选择Django版本

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

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

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

了解DRY的含义,并实践它

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

远离基于类的视图

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

不要开始在Google App Engine上托管

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

使用StackOverflow,提出问题

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

答案 1 :(得分:14)

阅读Django tutorial

,构建您的第一个Django Web应用程序

答案 2 :(得分:9)

通读the Django book

答案 3 :(得分:8)

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

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

答案 4 :(得分:7)

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

答案 5 :(得分:2)

获得Django / Python的基本知识后,请阅读Django by Examples,精彩的文章。

答案 6 :(得分:0)

以下截屏视频/教程是从头开始创建Wiki的好方法:

之后,您可以完成优秀的django documentation网站上提供的教程和文档。