介绍
今年(2014年),从我将5.25-DOS 3.3磁盘插入我校第一台Apple IIe电脑并发现BASIC已经过去30年了。
在这几年里,我写了更多的代码,比我想象的十几种语言更多。我仍然每周写代码 - 尽管目前语言列表和行数有所减少。
多年来,我已经看到了很多可怕的代码和一些非常好的东西。在我自己的工作中,我已经写下了自己的好与坏。有趣的是,在我的职业生涯中,我并没有被聘用为程序员。我拥有自己的IT业务已经有五年时间了,并且一直在大大小小的业务上 - 大多数是在研发,技术和运营管理方面 - 但从来没有做过程序员的工作。
我一直是那个被召集来完成任务的人。
强调这一点是有充分的理由的 - 业务是把所有的东西都做好。当所有事情都要在昨天工作的时候,宗教上的战争要花费大量的时间,并且指出哪种语言最适合应用程序变得微不足道。
阅读了我使用过的各种编程语言的数十本教科书后,我知道你为什么在这里阅读这个介绍,所以让我们来看看。
你为什么要关心Django?
虽然Django并不是唯一一个可以让你完成填充任务的Web框架,但我可以自信地说一件事 - 如果你想编写简洁易懂的代码并快速构建高性能,漂亮的现代化网站,那么你一定会从这本书中获益。
我故意不会与其他语言和框架进行比较,因为这不是重点 - 所有的语言和构建在其上的框架和工具都有其长处和短处。然而,多年来,他们中的许多人一起工作,我完全相信,Django在易用性方面处于领先地位,并且能够让程序员快速生成健壮,安全和无缺陷的代码。
当你只需要完成某些事情时,Django就非常擅长脱离你的方式,但是当你想进一步挖掘的时候,Django仍然会暴露出所有的优势。
Django也是用Python构建的,可以说是最易理解和易于学习的编程语言。当然,这些优势确实带来了一个挑战。因为Python和Django都隐藏了大量的能力和功能,所以初学者可能会感到困惑。这就是本书的目的所在。它的设计目的是让您快速地在自己的Django项目中移动,然后最终教会您成功设计,开发和部署一个令您引以为傲的网站的所有知识。
Adrian和Jacob编写了原始的Django Book,因为他们坚信Django使Web开发更好。我认为自从Django原书出版以来,Django的长期发展和指数级的增长证明了这一信念。根据原文,这本书是开源的,欢迎您通过在 Mastering Django网站上提交意见和建议,或者给我发邮件给nigel@masteringdjango.com来改进它。和许多人一样,我和Django一起工作,我感到非常高兴 - 它真的像Adrian和Jacob希望的那样令人兴奋,有趣和有用!
关于本书
这本书是关于Django,一个Web开发框架,节省您的时间,使Web开发的喜悦。使用Django,您可以轻松地构建和维护高质量的Web应用程序。掌握Django:Core是Django书籍的完全修订和更新版本 - 由Apress于2007年首次发布,作为Django的权威指南:Web Development done,然后在2009年由原作者重新发布为Django Book。后者的出版物作为GNU自由文档许可证(GFDL)下的开源项目发布。
掌握Django:Core可以被认为是Django Book的非正式第三版,尽管我会把它留给Jacob和Django社区来决定是否值得这个荣誉。就我个人而言,我只是想看看它,因为像许多Django程序员一样,Django Book是我开始的地方。为了保留Adrian和Jacob对Django Book的最初需求,Django:Master Coreing的源代码可以在Mastering Django网站上免费在线获得。
本书的主要目标是让你成为一名Django专家。重点是双重的。首先,我深入解释了Django的功能,以及如何使用它构建Web应用程序。其次,我会在适当的地方讨论更高层次的概念,回答“我怎样才能在自己的项目中有效地使用这些工具?”。通过阅读本书,您将学习快速开发功能强大的Web站点所需的技能,并且代码清晰且易于维护。
本书的第二个但同样重要的目标是提供一个涵盖Django当前长期支持(LTS)版本的程序员手册。 Django已经成熟到可以看到很多商业和商业关键部署的地步。 因此,本书旨在为商业部署Django 1.8 LTS提供最新的最新资源。 本书的电子版本将与Django 1.8保持同步,直到延期支持(2018年)结束。
如何阅读本书
在编写Mastering Django:Core时,我试图在第一本书的可读性和参考之间保持类似的平衡,但是自从2007年以来,Django已经有了相当大的增长,并且增加了功能和灵活性,这带来了一些额外的复杂性。 Django仍然是所有Web应用程序框架中最短的学习曲线之一,但是如果你想成为一名Django专家,那么在你之前仍然有一些坚实的工作。 本书保留了与原书相同的“实例”哲学,但是一些更复杂的部分(例如数据库配置)已经移到后面的章节。 这样,您就可以首先学习Django如何使用简单的开箱即用配置,然后在更高级的主题上构建您的知识。
考虑到这一点,我建议您按顺序阅读第1章至第13章。 它们构成了如何使用Django的基础; 一旦你读完了,你就可以建立和部署Django支持的网站。 具体来说,第1章到第6章是“核心课程”,第7章到第12章讲述了更高级的Django用法,第13章讲述了部署。 其余的章节14到21着重于特定的Django特性,可以按任意顺序阅读。 附录仅供参考。 他们,
以及Django项目中的免费文档,可能会偶尔回顾一下语法或查找Django特定部分的快速概要。
必需的编程知识
本书的读者应该理解程序和面向对象编程的基础知识:控制结构(如if,while,for),数据结构(列表,散列/字典),变量,类和对象。 正如你所期望的,Web开发的经验非常有帮助,但是并不需要理解这本书。 在整本书中,我试图为缺乏这种经验的读者推广Web开发的最佳实践。
必需的Python知识
Django的核心是简单的用Python编程语言编写的库集合。要使用Django开发一个站点,您需要编写使用这些库的Python代码。学习Django,学习如何用Python进行编程并了解Django库如何工作就是一个问题。如果你有使用Python进行编程的经验,你应该没有任何困难。总的来说,Django代码并没有执行很多“魔术”(即编程技巧,其实现难以解释或理解)。对你而言,学习Django将是学习Django约定和API的一个问题。
如果您没有使用Python进行编程的经验,那么您一定会喜欢的。这很容易学习和使用一个快乐!尽管本书不包含完整的Python教程,但是它在适当的地方突出显示了Python的特性和功能,特别是当代码不能立即使用时。不过,我建议你阅读官方的Python教程。我还推荐Mark Pilgrim的免费书籍Dive Into Python,可在http://www.diveintopython.net/上在线获得,并由Apress印刷出版。
必需的Django版本
本书涵盖了Django 1.8长期支持(LTS)。 这是Django的长期支持版本,至少要到2018年4月为止。
如果您有早期版本的Django,建议您升级到最新版本的Django 1.8 LTS。 在印刷时(2016年7月),Django 1.8 LTS的最新量产版本是1.8.13。
如果您安装了更高版本的Django,请注意,尽管Django的开发人员尽可能保持向后兼容性,但偶尔也会引入一些向后兼容的更改。 每个版本的变化总是在发行说明中介绍,您可以在https://docs.djangoproject.com/en/dev/releases/上找到这些变化。
获得帮助
Django最大的好处之一就是它友好而有用的用户社区。 有关Django的任何方面(从安装,应用程序设计,数据库设计到部署)的帮助,请随时在线提问。
- django用户邮件列表是成千上万的Django用户在这里发问并回答问题的地方。 在http://www.djangoproject.com/r/django-users免费注册。
- Django IRC频道是Django用户外出聊天和实时互相帮助的地方。 通过登录到Freenode IRC网络上的#django来加入乐趣。