• 先了解一下Django的历史

    Django的发源
    服务器君一共花费 9.301 ms 进行了 2 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    在我们讨论代码之前我们需要先了解一下 Django 的历史。 从上面我们注意到:我们将向你展示如何不使用捷径来完成工作,以便能更好的理解捷径的原理 同样,理解 Django 产生的背景,历史有助于理解 Django 的实现方式。

    如果你曾编写过网络应用程序。 那么你很有可能熟悉之前我们的 CGI 例子。

    1. 从头开始编写网络应用程序。
    2. 从头编写另一个网络应用程序。
    3. 从第一步中总结(找出其中通用的代码),并运用在第二步中。 
    4. 重构代码使得能在第 2 个程序中使用第 1 个程序中的通用代码。
    5. 重复 2-4 步骤若干次。
    6. 意识到你发明了一个框架。

    这正是为什么 Django 建立的原因!

    Django 是从真实世界的应用中成长起来的,它是由 堪萨斯(Kansas)州 Lawrence 城中的一个 网络开发小组编写的。 它诞生于 2003 年秋天,那时 Lawrence Journal-World 报纸的 程序员 Adrian Holovaty 和 Simon Willison 开始用 Python 来编写程序。

    当时他们的 World Online 小组制作并维护当地的几个新闻站点, 并在以新闻界特有的快节奏开发环境中逐渐发展。 这些站点包括有 LJWorld.com、Lawrence.com 和 KUsports.com, 记者(或管理层) 要求增加的特征或整个程序都能在计划时间内快速的被建立,这些时间通常只有几天 或几个小时。 因此,Adrian 和 Simon 开发了一种节省时间的网络程序开发框架, 这是在截止时间前能完成程序的唯一途径。

    2005 年的夏天,当这个框架开发完成时,它已经用来制作了很多个 World Online 的站点。 当时 World Online 小组中的 Jacob Kaplan-Moss 决定把这个框架发布为一个开源软件。

    从今往后数年,Django是一个有着数以万计的用户和贡献者,在世界广泛传播的完善开源项目。 原来的World Online的两个开发者(Adrian and Jacob)仍然掌握着Django,但是其发展方向受社区团队的影响更大。

    这些历史都是相关联的,因为她们帮助解释了很重要的两点。

    第一,Django最可爱的地方。Django 诞生于新闻网站的环境中,因此它提供很多了特性(如管理后台),非常适合内容类的网站,如Amazon.com, craigslist.org和washingtonpost.com,这些网站提供动态的,数据库驱动的信息。 (不要看到这就感到沮丧,尽管Django擅长于动态内容管理系统, 但并不表示Django主要的目的就是用来创建动态内容的网站。 某些方面特别高效与其他方面不高效是有区别的,Django在其他方面也同样高效。)

    第二,Django的起源造就了它的开源社区的文化。 因为Django来自于真实世界中的代码,而不是 来自于一个科研项目或者商业产品,她主要集中力量来解决Web开发中遇到的问题,同样 也是Django的开发者经常遇到的问题。 这样,Django每天在现有的基础上进步。 框架的开发者对于让开发人员节省时间,编写更加容易维护的程序,同时保证程序运行的效率具有极大的兴趣。 无他,开发者动力来源于自己的目标:节省时间,快乐工作。 (坦率地讲,他们使用了自己公司的产品。)

更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [移动开发] Android布局基本知识 3 个条目
  2. [移动开发] Android加载器Loaders 5 个条目
  3. [软件工程与项目管理] 呈现树的构建 13 个条目
  4. [Python程序设计] Django 入门知识浅介 10 个条目
  5. [移动开发] Android View注入框架Butter Knife 3 个条目
  6. [PHP程序设计] 声明式编程范式 12 个条目
  7. [智力开发与知识管理] 整体性学习步骤 9 个条目
  8. [Python程序设计] 标准库:urllib/urllib2 14 个条目
  9. [PHP程序设计] Nginx基本操作释疑 7 个条目
  10. [Linux操作系统] CentOS上使用EPEL Repository 2 个条目
  11. [智力开发与知识管理] 信息的类型与结构 9 个条目
  12. [移动开发] Android Studio里的Gradle 3 个条目
窗口 -- [协会]