我真的很想建立一个网络应用程序;可能是一些简单的东西,比如口袋妖怪卡牌的数据库?
我听说Django非常出色。最好的起点在哪里呢?
我真的很想建立一个网络应用程序;可能是一些简单的东西,比如口袋妖怪卡牌的数据库?
我听说Django非常出色。最好的起点在哪里呢?
这是我在博客上发布的帖子,几乎回答了与相同问题。它包含了在此处已经给出的许多答案,以及一些额外的建议,其中一些是我的个人意见,其他人可能与我不同意见。希望有人会觉得有用:
我能给出的最好建议就是从构建一些东西开始。一个 Django 的典型“Hello world”示例是一个博客网站,我还建议从那里开始。Django 框架试图使常见任务变得非常容易和简单,具有简单博客功能的网站是一个典型的示例。熟练的 Django 开发者可以使用所有可用的库在不到一个小时的时间内编写出一个简单的博客网站,因此这是一个很好的起点,可以让您了解 Django 如何处理事情的感觉。
当然,在您可以直接跳进代码并开始编码之前,您需要使用 Django 将系统设置起来,并学习基础知识。一个很棒的资源是Django 书籍。由于 Django 变化颇大,它的作者已经有一段时间没有更新或保持相当最新了,但它仍然可以在网上免费获得,因此非常受推荐。请阅读前几章,以了解如何设置您的系统,如何将 Django 的所有部分组合成 MVC 模型,并惊叹于 Django 是如此简单而其他框架则使事情变得不必要繁琐。
在Django 网站上有很多优秀的教程,一旦您掌握了 Django 的基础知识,您几乎不需要其他东西。文档也非常棒,欢迎自行查看。
对于初学者,选择一个 Django 版本并坚持使用它是个好主意。在撰写本文时,由大多数人使用的主要版本为 Django 1.2 和 Django 1.3,以及开发版本(在发布为主要版本之前,Django 开发人员会在其中工作并测试更改)。刚开始时不要使用开发版本-您肯定会遇到麻烦。
重要的是 Django 已经存在了大约四五年,您在 Google 上找到的许多教程都是面向 Django 1.0 和 1.1 的。虽然这没有太大问题,但自那以后 Django 添加了很多功能,使得大多数那些教程和代码片段已过时。尽可能选择针对您版本的教程。
选择一个版本后,请确保始终阅读正确版本的Django文档。您将在右侧边栏和当前页面的网址中看到可以更改所查看版本的选项。Django的文档真正卓越,超越了所有其他文档,并且作者非常注重特别说明哪些功能是该版本的新功能,哪些功能已过时。请确保您知道这一点,以免浪费数小时尝试使某些不可用于您的版本的内容工作。
DRY:“不要重复自己”是Django背后的核心原则之一。如果您发现在Django中复制粘贴任何内容,几乎肯定有更好的方法来处理它。大多数程序员会根据经验知道为什么像那样的重复是不好的,但简而言之,如果代码中的某些内容稍后需要更改或者如果您在某个地方犯了错误,则只需要在一个地方进行更改即可。这很有用,因为如果还有多个位置需要更改,而您忘记了那种情况,那么您就会在代码中引入错误和漏洞。
Django 1.3的新补充是一整套基于类的通用视图。如果您不知道这意味着什么,不要担心。关于Django的大多数教程和书籍都不会提到它,主要是因为它太新了。这是一个旨在减少创建视图中重复性的功能,从而遵循DRY原则。虽然它确实在某种程度上做到了这一点,但它也引入了许多黑魔法,并需要频繁地在Django源代码中查找内容。对于初学者来说,这不是理想的选择。此外,基于类的视图现在提供的错误消息经常指向完全错误的方向。远离它们,最好从最初使用功能视图开始,就像大多数教程所告诉您的那样。当您对Django更加熟悉并发现功能视图的重复性令人沮丧时,请尝试使用基于类的通用视图。
虽然GAE对于可扩展的Django应用程序来说是免费且很棒,但它也会对您的登录过程引入许多限制,而且相关文档非常稀少。作为初学者,不要从这条路开始,因为很多正常的Django文档会突然不适用,而您将不知道该怎么做。相反,请从像 epio, gondor.io, 或 其他许多服务 开始。Ep.io目前仍处于测试阶段,但也提供了免费的主机选项(每月使用量有一定限制)。由两位Django核心开发人员开发,我强烈推荐使用他们- 这类似于Ruby on Rails的Heroku。 Ep.io即将关闭,但Heroku最近也添加了 Python 主机选项。
我最后的建议是,在遇到问题时利用StackOverflow。首先,他们已经回答了几乎您能想到的任何问题。如果您在网站上找不到问题的答案,一种查找解决方案的好方法是将“stackoverflow”作为Google搜索词的一部分。否则,请发布一个问题,让Django社区帮助您。在过去的几年中,它已被证明是我学习Django黑暗面最好的资源之一,除了实际阅读Django代码(您也应该这样做!)。祝好运,并享受!
通过阅读Django教程,建立你的第一个Django Web应用程序。
阅读 Django 书籍。
建造一些东西。 任何东西。 保持相对简单和简短,但开始构建它并确保你完成构建它。 你心中所想的项目可能是完美的。
当然,阅读文档和书籍非常有帮助,但像任何编程语言一样,真正学习Django的唯一方法就是通过实践。 构建有形的东西几乎是获得这种实践的唯一途径。
如果你不懂Python,请先学习这门语言。人们往往会在尝试学习一个框架却不了解其编程语言时变得非常沮丧。
http://slash4.de/blog/learn-django-in-4-hours
本课程旨在让您尽快入门Django(无需安装程序等)。它展示了Django的所有最重要的部分 - 当然,无法在4小时内涵盖Django的所有方面,但这不是本课程的目的。