当前位置: 代码迷 >> Web前端 >> Learning Website Development with Django译文-第一章:Django引见
  详细解决方案

Learning Website Development with Django译文-第一章:Django引见

热度:729   发布时间:2012-11-13 10:00:51.0
Learning Website Development with Django译文-第一章:Django介绍


第一章?????? 介绍Django

欢迎大家!本书你将学习Django的相关知识,它是一个让你用最小时间和努力就能创建干净、丰富特性的Web应用程序的开源框架。Django是用Python(一种非常适合开发Web应用程序的通用语言)编写的。Django松散地遵循MVC设计模式,极大地帮助你建立干净的、可维护的Web应用程序。

本章预览了在本书中使用的这种技术。下面的章节将会通过指南从零开始建立一个使用Django开发的社交网址收藏应用程序。

这次介绍你会读到以下内容:

l Web开发中的MVC模式

l 为什么我们使用Python

l 为什么我们使用Django

l Django的历史

MVC模式

Web开发在最近几年有了很大的进展。开始是CGI(Web服务器的外部接口程序)的有关使用,这是一项枯燥的任务。为了手工地转换用户输入和生产页面输出,CGI应用使用对C编程语言有效的标准输入输出设备。除了使用它开发是困难的,对每次请求CGI都需要启动程序的一份单独复制,这样往往使服务器很快超荷。

接下来,脚本语言被引进Web开发,这激发了开发者们创造更多高效的技术。像PerlPHP语言迅速进入Web开发的世界,结果使诸如像Cookie处理,Session管理和文本加工的普通Web任务变得容易多了。即使脚本语言包含了处理日复一日Web相关任务的库,它们也缺乏统一的框架,如这些库通常在设计、使用和惯例上都是不同的。所以需要有凝聚力的框架地出现。

几年以前,专为基于Web的应用产生的MVC(model-view-cotroller)模式被引进。这种软件工程模式把数据(model)、用户界面(view)和输入逻辑控制(controller)分离开,使得一个地方发生变化不会影响其它地方。这种模式的好处是明显的。使用它,界面的设计者不需要担心输入存储和管理,会输入控制逻辑编程的开发者不需要获得表现层的细节。结果MVC模式迅速进入Web语言,严肃认真的开发者对以前的技术开始偏向强调这种模式。

下图显示了MVC模式的各个组件以及它们是如何相互影响为用户请求服务的。

?

为什么使用Python

Python是一种通用的编程语言。虽然Python能使用于不同领域的应用,但Python是非常适合Web应用开发的。它有简洁优雅的语法,支持标准大型库,有助于模块化,通过多线程覆盖所有东西成zip文件。这种语言的面向对象模块特别适合MVC风格的开发。

迟早效率将会变成Web项目的主角,Python运行环境以快速和稳定而著名。通过模块化Python支持广范围的Web服务器,包括声名狼藉的Apache。此外,可用于所有主流平台:UNIX/LinuxWindowsMacPython也支持一大批数据库服务器,但你不能直接处理;Django为所有有效的数据库引擎提供统一的访问层,稍后我们会明白。

Python是自由软件:你能从 http://python.org 自由下载和使用。你甚至不需要付任何费用就能分发。对那些想要增加特性或者修复Bug的人访问源代码是有效的。结果,Python吸引了大型社区的开发者来修复Bug、引进新特性。

Python非常容易学习,被许多大学作为第一编程语言的教学。虽然本书假定你已经有了Python的知识,但被使用高级特性本书还是会解释。如果你想要补充你的Python知识,在继续本书之前推荐阅读在 http://python.org/doc/ Python官方指导。

总结,本书在众多脚本语言中选择Python的原因如下:

l?干净优雅的语法

l?覆盖广泛任务的大型标准库

l?大量文档

l?成熟运行环境

l?LinuxApache标准支持和技术验证

提示:如果你想要学习更多关于Python的知识和它的特性,Python官方网址 http://python.org/ 和关于Python的书“Dive Into Python( http://www.diveintopython.org 可免费获得)都是极好的资源。

为什么使用Django

自从MVC模式传播到Web开发中,当谈到Web框架时Python已经提供了不少选择,如DjangoTurboGearsZope。虽然第一次时从众多框架中选择一个是困惑的,但是存在几个相互竞争的框架对Python社区来说未必不是一件好事情,这样可以驱动所有框架进一步的发展,给用户提供更加丰富的选择。

DjangoPython的框架之一,因此问题是:什么使得Django成为本书的主题?什么使得DjangoPython社区如此受欢迎?下面的小节提供Django主要优势的一个预览,很好地回答这些问题。

组件之间紧密集成

首先,Django提供大量紧密集成的组件,这些组件是Django组自己开发的。Django最初是作为管理新闻站点的内部框架来开发的。后来随着代码在互联网上的发布,Django组使用开源模式继续它的开发。因为它的根源,Django从开始就是为集成、可重用、快速而设计的。

对象关系映射

Django的数据库组件,对象关系映射(ORM, Object-Relational Mapper)提供了数据库和数据库引擎之间的桥梁。它支持大量的数据库系统,从一种数据库转换到另一种数据库只需改变一个配置文件,这给开发者带来极大的灵活性。

干净的URL设计

Django中的URL系统是非常灵活和强大的,你可以在你的应用中定义URL的格式,定义的功能可由每个格式控制。这样开发者能自创对用户和搜索引擎都友好的URL

自动化的管理界面

Django提供现成的管理界面。这个界面使得管理应用程序的数据成为轻而易举的事。它非常灵活,可定制化。

高级开发环境

另外,Django提供很好的开发环境。它带有一个轻量Web服务器来进行开发和测试。当使用Debug模式时,Django通过Debug信息提供大量详细错误消息。这使得隔离和修复Bug很容易。

多语言支持

Django通过内置的国际化系统支持多语言站点。对那些不止一种语言运行的站点,这是很有价值的。这个系统使翻译界面变成一项非常轻松的任务。

?

你所想要的Web框架标准特性,Django都具有,如下:

l?简单可扩张语法的模版和文本过滤引擎

l?格式生成和验证API

l?可扩张的权限系统

l?加速应用程序性能的缓存系统

l?RSS Feed生成的Feed框架

虽然Django没有提供Javascript库来简化Ajax的工作,但你可以选择一种集成到Django中,这是一件简单的事情,稍后的章节你会看到。

所以总结,由于开发者和用户的大型社区,Django提供大量综合成熟的组件,在 http://www.djangoproject.com/documentation/ 带有优秀的文档。Django一出现,还没有一种更好学习的Web开发框架。

Django历史

Django开发是作为2003年劳伦斯日报的一个内部项目。这个Web开发组经常需要在几个小时内实现一些新特性,甚至整个应用程序。所以Django被创建来满足快速截止日期的新闻站点的开发,同时保证开发过程的干净和可扩展性。到2005年的夏天,Django在控制几个高流量站点方面变得足够成熟,开发者决定把它作为一个开源项目来发布。这个项目以爵士乐吉他演奏家Django Reinhardt来命名。

由于Django是一个开源框架,所以它聚集了全世界的开发者和用户。修复Bug和新特性的引进作为日常元素,而原始的开发者密切关注整个过程,确保Django保留那些与生俱来的东西――创建干净的、可扩展的、可重用的Web应用程序。

总结

Web开发在最近几年获得巨大的进步。脚本语言、Web框架、Ajax的出现使得Web应用程序的快速开发变得越来越容易。本书使用两种热门技术(PythonDjango)带你创建一个Web2.0应用程序。这个应用程序允许用户存储和分享网址收藏。许多令人激动的Web2.0应用程序都将通过本书被解释和开发。

下面章节中,我们将安装必须的软件来创建我们的开发环境,通过创建第一个应用程序来获得对Django的初步认识。Learning Website Development with Django译文-前言

  相关解决方案