(完整版)Django技术介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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),