(完整版)Django技术介绍

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Django技术介绍

一、简介

Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC 的软件设计模式,即模型M,视图V和控制器C。Django 框架的核心组件有:

1. 用于创建模型的对象关系映射

2. 为最终用户设计的完美管理界面

3. 一流的URL 设计

4. 设计者友好的模板语言

5. 缓存系统。

在Django中,控制器接受用户输入的部分由框架自行处理,所以Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为MTV模式。它们

Django 视图不处理用户输入,而仅仅决定要展现哪些数据给用户,而Django 模板仅仅决定如何展现Django视图指定的数据。或者说, Django将MVC中的视图进一步分解为Django视图和Django模板两个部分,分别决定“展现哪些数据”和“如何展现”,使得Django的模板可以根据需要随时替换,而不仅仅限制于内置的模板。

至于MVC控制器部分,由Django框架的URLconf来实现。URLconf机制是使用正则表达式匹配URL,然后调用合适的Python函数。框架把控制层给封装了,无非与数据交互这层都是数据库表的读,写,删除,更新的操作

二、设计优势

Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的

第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(Do Not Repeat Yourself)原则。

1.对象关系映射(ORM,object-relational mapping):以Python类形式定义你的数

据模型,ORM将模型与关系数据库连接起来,你将得到一个非常容易使用的数据库API,同时你也可以在Django中使用原始的SQL语句。

2.URL 分派:使用正则表达式匹配URL,你可以设计任意的URL,没有框架的

特定限定。像你喜欢的一样灵活

3.模版系统:使用Django强大而可扩展的模板语言,可以分隔设计、内容和

Python代码。并且具有可继承性。

4.表单处理:你可以方便的生成各种表单模型,实现表单的有效性检验。可以

方便的从你定义的模型实例生成相应的表单。

5.Cache系统:可以挂在内存缓冲或其它的框架实现超级缓冲--实现你所

需要的粒度。

6.会话(session),用户登录与权限检查,快速开发用户会话功能。

7.国际化:内置国际化系统,方便开发出多种语言的网站。

8.自动化的管理界面:不需要你花大量的工作来创建人员管理和更新内容。

Django自带一个ADMIN site,类似于内容管理系统。

三、工作原理

1.用manage .py runserver 启动Django服务器时就载入了在同一目录下的

settings .py。该文件包含了项目中的配置信息,如前面讲的URLConf等,其中最重要的配置就是ROOT_URLCONF,它告诉Django哪个Python模块应该用作本站的URLConf,默认的是urls .py

2.当访问url的时候,Django会根据ROOT_URLCONF的设置来装载URLConf。

3.然后按顺序逐个匹配URLConf里的URLpatterns。如果找到则会调用相关联的

视图函数,并把HttpRequest对象作为第一个参数(通常是request)

4.最后该view函数负责返回一个HttpResponse对象。

四、安装部署

以python2.6,数据库为mysql,apache为例:

1、安装python

python-2.6.2.msi

2、安装Apache

httpd-2.2.17-win32-x86-openssl-0.9.8o.msi

3、安装mod_python

mod_python-3.3.1.win32-py2.6-apache2.2.exe

4、安装mysql

mysql-essential-5.0.87-win32.msi

5、安装python-mysql包

MySQL-python-1.2.2.win32-py2.6.exe

6、修改apache配置文件hpptd.conf

7、修改django管理文件django.wsgi

五、实际应用

1),创建一个项目。

在cmd模式下,打开一个目录,输入django-admin.py startproject mysite,就在当前目录下新建了一个项目mysite,mysite目录下生成了几个文件。

manage.py :一种命令行工具,允许你以多种方式与该Django 项目进行交互

settings.py :该Django 项目的设置或配置

urls.py:Django项目的URL设置

2),开启Django服务器。

在cmd模式下,进入到当前的项目目录下mysite,输入python manage.py runserver,就启动了服务器,并且服务器端口为8000。客户端就可以通过网页浏览器访问http://127.0.0.1:8000/,就可以看到Django的欢迎页面了。

3),创建视图

在项目目录下创建文件views.py,文件内容如下:

from django.http import HttpResponse

import datetime

def hello(request):

return HttpResponse("Hello world")

def current_datetime(request):

now = datetime.datetime.now()

html = "It is now %s." % now return HttpResponse(html)

一个简单的视图文件就创建完成了。

4),创建urlconf

在项目目录下的url.py文件中添加对视图views.py中函数的引用

u rl匹配格式如urlpatterns表达式,如果有多个匹配,只需要在patterrns 的圆括号中添加匹配项即可,一个匹配项有两部分组成,前半部分是正则表达式,后半部分是函数名称,通过正则表达式匹配url,如果url匹配成功就调用对应的函数。

url.py内容如下:

from django.conf.urls.defaults import *

from mysite.views import hello, current_datetime

urlpatterns = patterns('',

('^hello/$', hello),

('^time/$', current_datetime),

相关文档
最新文档