Django嵌入式论文Django发展历史以及功能简介_第1页
Django嵌入式论文Django发展历史以及功能简介_第2页
Django嵌入式论文Django发展历史以及功能简介_第3页
Django嵌入式论文Django发展历史以及功能简介_第4页
Django嵌入式论文Django发展历史以及功能简介_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Django论文Django发展历史以及功能简介2015年1月目录第一章前言31.1 Django简介3第二章Django的起源及发展42.1 Django的起源42.2 Django的发展5第三章 Django的功能简介63.1功能概要63.2 Django的视图及URL配置63.2.1视图函数73.2.1简化视图函数的工具73.2.3视图分类73.2.4 URL简介83.2.5 URLconf83.2.6 URL配置和松耦合83.3 Django的模版系统83.4 Django Admin93.4.1 Django的自动管理工具93.4.2 Django管理工具的用户权限系统93.5 Dj

2、ango的表单功能93.6 Django输出非HTML内容93.7 Django的缓存机制93.8 Django的中间件功能103.9集成已有的数据库和应用103.9.1 Django框架Web数据查询分页技术研究103.9.2基于Django框架的生物信息网站建设103.10 Django的国际化翻译功能11第四章 结束语11参考文献12摘要:Django是一款能够节约开发者的时间并且让开发乐趣横生的开放源代码的web 开发框架,由Python写成。Django 诞生于新闻网站的环境中,它采用了MVC的软件设计模式,即模型M,视图V和控制器C。使用Django,花极少时间即可构建和

3、维护质量上乘的 Web 应用。通过减少重复的代码,Django使开发者能够专注于 web应用上关键性的东西。Python语言实现的快速Web开发框架Django自带了模板系统、对象关系映射以及动态管理界面,同时Django提供了松耦合的设计。本文将从Django发展历史、功能简介两个方面进行阐述,让读者能根据这篇文章对Django的发展及功能有个简单的认识。关键词:Django;发展历史;功能简介ABSTRACT: Django is a developer can save time and make fun of phenomena develop open source web deve

4、lopment framework written in Python. Django was born in the news site environment, it uses the MVC software design patterns, namely the model M, views and controllers V C. Using Django, spend very little time to build and maintain high-quality Web applications. By reducing duplication of code, Djang

5、o enables developers to focus on the key things on the web application. This article from the Django development history, features elaborate About two aspects, according to the article so that readers can develop and function of Django has a simple understanding.KEY WORDS: Django;development;history

6、;Introduction第一章前言1.1 Django简介Django是一个开放源代码的Web应用框架。Django框架遵循MVC开发模式,内置多种Web开发组件,同时集成了一个轻量级Web Server。视图是所有Django Web应用程序的核心。它们提供了几乎所有实际的程序逻辑。URL一般指统一资源定位符。将一个请求的URL和结果的强大响应联系起来的机制就是任何Web开发框架的关键所在。Django的Web开发一般以Python为基础。Python是一种解释型、面向对象、动态语义、语法优美的脚本语言。第二章Django的起源及发展2.1 Django的起源Django中“d”不发音,后

7、面的发音和Bang-o押韵。这个名称来源于吉普赛爵士吉他手Django Reinhardt。Django 是从真实世界的应用中成长起来的,它是由堪萨斯(Kansas)州 Lawrence城中的一个网络开发小组编写的它诞生于2003年秋天,那时 Lawrence Journal-World 报纸的程序员Adrian Holovaty和Simon Willison开始用 Python 来编写程序。当时他们的World Online小组制作并维护当地的几个新闻站点,并在以新闻界特有的快节奏开发环境中逐渐发展。新闻编辑要求增加的新闻特征或整个程序都能在计划时间内快速的被建立,这些时间通常只有几天或几个

8、小时。因此,Adrian 和 Simon 开发了一种节省时间的网络程序开发框架,这是在截止时间前能完成程序的唯一途径。2005 年的夏天,当这个框架开发完成时,它已经用来制作了很多个World Online的站点。当时World Online小组中的Jacob Kaplan-Moss决定把这个框架发布为一个开源软件命名为Django。从那往后数年,Django是一个有着数以万计的用户和贡献者,在世界广泛传播的完善开源项目。原来的World Online的两个开发者(Adrian and Jacob)仍然掌握着Django,但是其发展方向受社区团队的影响更大。由于Django最初建立的目的是处理

9、一些在线报刊的需求,所以被贴上了“内容”框架的标签,很多人认为它只适合于出版业而不适合其他行业。当然,您很快就会根据这篇文章剩下的部分了解更多关于Django的知识,自然会觉得这个观点是错误的。我们将向你展示如何不使用捷径来完成工作,以便能更好的理解捷径的原理。同样,理解Django产生的背景,历史有助于理解Django的实现方式。分发现事实并不是这样,Django和其他框架一样强大和灵活。如果你曾编写过网络应用程序。那么你很有可能熟悉写多个类似功能网络应用程序的流程:第一步:从头开始编写网络应用程序;第二步:从头编写另一个网络应用程序、第三步:从第一步中总结(找出其中通用的代码),并运用在第

10、二步中;第四步:重构代码使得能在第 2 个程序中使用第 1 个程序中的通用代码;第五步:重复 2-4 步骤若干次。Django框架正是积累类似上述的重复的例子,通过减少重复的代码,来提高开发者工作的效率!这些历史都是相关联的,因为她们帮助解释了很重要的一点。Django最可爱的地方。Django诞生于新闻网站的环境中,因此它提供很多了特性(如管理后台),非常适合内容类的网站,如A, 和,这些网站提供动态的,数据库驱动的信息。(不要看到这就感到沮丧,尽管Django擅长于动态内容管理系统, 但并不表示Django主要的目的就是用来创建动态内容的网站。某些方面特别高效与

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

12、中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。 Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(Do Not Repeat Yourself)原则。第三章 Django的功能简介3.1功能概要Django 是 Python 的一个开源 Web 开发框架 ,该框架遵循

13、MVC 开发模式 ,内置多种 Web 开发组件,同时还集成了一个轻量级Web Server,使开发人员可以最少的代码、最快的速度、方便高效地进行各种 Web 应用的开发和调试。简单来讲:Django是一个可以使Web开发工作愉快并且高效的Web开发框架。 使用Django,可以使你以最小的代价构建和维护高质量的Web应用。Django具有以下特点:(1)遵循MVC开发模式(2)内置进行快速Web开发所需的各种组件(3)ORM 对象关系映射 机制定义和操纵数据库使开发人员可以构建出独立于具利用体数据库引擎的Web应用(4)内置后台管理Web应用(5)内置Web Server 开发人员无需安装任何

14、Web Server就可以进行各种Web应用的开发和测试(6) 具有灵活而强大的自定义URL系统(7) 内置多语种支持可以方便地构建多国语言的WebDjango 在新一代的 Web 框架中非常出色。让我们来考虑一下不使用框架设计 Python 网页应用程序的情形。贯穿整个系列,我们会多次展示不使用框架实现网站基本功能的方法,让读者认识到框架开发的方便。Web框架为应用程序提供了一套程序框架,这样你可以专注于编写清晰、易维护的代码,而无需从头做起。简单来说,这就是Django所能做的。3.2 Django的视图及URL配置视图组成了Django应用程序里很多(有时候几乎是全部)的逻辑。它们的定义

15、实际上却很简单:它们是链接到一个或多个定义URL上的Python函数,这些函数都返回一个HTTP响应对象。视图的作用:视图能够简化用户的查询操作;视图使用户能从多个角度看到同一数据;视图可以提高数据的安全性;视图提供了一定程度的逻辑独立性;视图能够提高查询性能;对视图添加一些额外的索引,来提高查询的效率。3.2.1视图函数从本质上来说,Django的视图就是Python函数,我们称其为视图函数(view function)。当Django框架接收到http请求的时候,从定义的urlpatterns中寻找url表达式进行匹配,一旦找到匹配的项,就将HTTPRequest以及匹配到的其他字符串作为

16、参数,调用找到的视图函数,然后根据视图函数返回的HTTPResponse对象进行响应。所以视图函数应该至少接收一个django.http.HTTPRequest对象作为参数,并返回django.http.HTTPResponse对象。3.2.1简化视图函数的工具为了使我们编写简单,django提供了简化视图函数的两个工具:一、django.shortcuts.render_to_response()函数作用:接收一系列的参数,包括模板路径、context使用的字典、原始的context实例以及要设定的mimetype等二、locals()函数作用:将所有的局部变量组装成一个字典。有了这两个工具

17、,视图函数就可以这样写:def my_view_with_template(request, *args, *kwargs): var1 = foo var2 = barreturn render_to_response('path_name_of_template_file', locals()3.2.3视图分类视图大致可以分为通用视图、半通用视图以及自定义视图。其中,Django内置的通用视图(generic view)是web开发框架里最节省时间的工具之一。3.2.4 URL简介Uniform Resource Locator一般指统一资源定位符,是对可以从互联网上得到的

18、资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。URL参数可将用户提供的信息从浏览器传递到服务器。将一个请求的URL和结果的强大响应联系起来的机制就是任何Web开发框架的关键所在。Django使用的机制简单而强大,可以通过正则表达式配置映射到Python的视图方法上,并且通过相互包含把它们链接在一起。3.2.5 URLconf URLconf就像是Django所支撑网站的目录。它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表。我们就是以这种方式告诉Django,对于这个

19、URL调用这段代码,对于那个 URL 调用那段代码。3.2.6 URL配置和松耦合Django和URL配置背后的哲学:松耦合原则。简单的说,松耦合是一个 重要的保证互换性的软件开发方法。Django的URL配置就是一个很好的例子。 在Django的应用程序中,URL的定义和视图函数之间是松耦合的,换句话说,决定URL返回哪个视图函数和实现这个视图函数是在两个不同的地方。这使得开发人员可以修改一块而不会影响另一块。3.3 Django的模版系统Django 模板系统具有可继承性,对于相同的页面内容或者类似的页面框架则不必再写相同的HTML 代码,很有应用价值,也很好地体现了DRY 原则(Don&

20、#39;tRepeat Yourself)。当然,可以在原有的模版上进行修改完善,增加新的代码内容,使模版可以解决所需问题。Python 编译器可以对此进行修改,功能也比较完善,与Django 相辅相成,进行更好地Web 界面开发。3.4 Django Admin3.4.1 Django的自动管理工具Django的自动管理界面是通过自动管理工具来实现。Django自动管理工具是django.contrib的一部分。django.contrib是一套庞大的功能集,它是Django基本代码的组成部分,Django框架就是由众多包含附加组件(add-on)的基本代码构成的。实际上,你可以把djang

21、o.contrib看作是可选的Python标准库或普遍模式的实际实现。自动管理工具其实就是一个Django应用程序,包含自己的模块、模板、视图和URLpatterns。3.4.2 Django管理工具的用户权限系统管理工具有一个用户权限系统。通过它,你可以根据用户的需要来指定他们的权限,从而达到部分访问系统的目的。另外,用户账号一般是通用的,独立于管理界面以外仍可以使用。用户对象有标准的用户名、密码、邮箱地址和真实姓名,同时它还有关于使用管理界面的权限定义。3.5 Django的表单功能可以方便的生成各种表单模型,实现表单的有效性检验。可以方便的从你定义的模型实例生成相应的表单。3.6 Dja

22、ngo输出非HTML内容Django可通过简单的操作生成 CSV 文件、PDF 文件、复杂的 PDF 文件、图片以及快捷方式等多种文件。3.7 Django的缓存机制缓存的目的是避免重复计算,特别是一些比较耗费时间和资源的计算。为此,Django提供了一个稳定的缓存系统来缓存动态页面的结果。这样一来,一旦之后有相同的请求就可以直接使用缓存中的数据,避免不必要的重复计算。另外Django还提供不同粒度数据的缓存,例如你可以缓存整个页面、某个部分甚至整个网站。此外,Django的上游缓存也工作的很好,例如Squid和基于浏览器的缓存,虽然这些类型的缓存都不是由你直接控制但是你可以通过HTTP头部提

23、供关于你的站点哪些部分应该被缓存和怎样缓存的线索。3.8 Django的中间件功能Django处理一个Request的过程是首先通过Django 中间件,然后再通过默认的URL方式进 行的。所以说我们要做的就是在Django 中间件这个地方把所有Request拦截住,用我们自己的方式完成处理以后直接返回Response,那么我们可以简化原来的设计思路,把中间件不能处理的 Request统统不管,丢给Django去处理。  如果你要在用户登录或者其它的处理过程中完成自己的一些处理,那Django 中间件非常的合适,感觉和Dja

24、ngo form一样,提倡这种dry的哲学风格设计非常的有意思。这类功能可以用Django的中间件框架来实现,该框架由切入到Django的request/response处理过程中的钩子集合组成。 这个轻量级低层次的plug-in系统,能用于全面的修改Django的输入和输出。每个中间件组件都用于某个特定的功能。 3.9集成已有的数据库和应用3.9.1 Django框架Web数据查询分页技术研究Web服务层和在数据库服务层分页两种方案在Django框架下实现的几种具体方法,分别是利用缓存和Sessions实现在Web服务层分页,利用存储过程和自定义Manager方法实现在数

25、据库服务层分页。最后,对这几种实现方法进行了测试比较,发现在网站数据量较小时几种方法性能差别不大,当数据量较大时在数据库服务层分页方法性能较为优越。3.9.2基于Django框架的生物信息网站建设由于生物科学和互联网的飞速发展,生物信息数据不断壮大,自然科学研究中的首要课题将是运用生物学和计算机科学的知识研究其中所包含的生物信息以及探索生物的内在发展规律。基于Django框架的生物信息网站分别对来自太空和地面的育种进行分析与比较,通过分析的结果来获取相关的生物信息,它可以实现在个人计算机平台上的自由访问,而且它还可以构建数据库系统,对相关数据进行集成,从而实现对数据的存储和管理,以及对提取出的

26、生物数据进行主成分分析。3.10 Django的国际化翻译功能因为Django是基于Python语言的web架构,它的翻译机制是使用GNUgettext(具体为Python自带的标准模块gettex)。除了Python之外,GNUgettext还支持C+,Objective-C,Pascal/ObjectPascal,sh脚本,bash脚本,Python,GNUCLISP,EmacsLisp,librep,GNUSmalltalk,Java,GNUawk,wxWidgets(通过wxLocale类),YCP(YaST2语言),Tcl,Perl,PHP,Pike,Ruby以及R3。xgettex

27、t程序从源代码里生成.pot文件,作为源代码中需翻译内容的模板。我们需要工作的对象是.po文件,它是由.pot模板文件生成的而Django国际化的步骤是:在需要国际化的Python代码和模板中嵌入待翻译的字符串;把这些字符串翻译成需要支持地区的语言;在Djangosettings文件中激活本地中间件。可以看到,翻译这个环节占了很大的比重是比较大的。而在翻译的环节,Django本身也已经帮我们做了很多东西了。我们只需要在里面指定哪些语句需要被翻译,Django则会根据用户的喜好,翻译成相应的语言。第四章 结束语本文通过对Django的起源、发展以及功能的简介向读者粗略地介绍了它,相信读者对Django也有了一定的了解。其他更多详细的功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论