- 58
- 0
- 约3.63千字
- 约 4页
- 2020-12-08 发布于山东
- 举报
Django 技术介绍
一、 简介
Django 是一个开放源代码的 Web 应用框架,由 Python 写成。采用了 MVC 的软件设计模式,即模型 M,视图 V 和控制器 C。Django 框架的核心组件有:
用于创建模型的对象关系映射
为最终用户设计的完美管理界面
一流的 URL 设计
设计者友好的模板语言
缓存系统。
在 Django 中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型( Model )、模板 (Template)和视图( Views),称为 MTV 模式。它们各自的职责如下:
层次 职责
模型( Model ),即数据存取层 处理与数据相关的所有事务: 如何存取、如
何验证有效性、 包含哪些行为以及数据之间的
关系等。
模板 (Template) ,即表现层 处理与表现相关的决定: 如何在页面或其他
类型文档中进行显示。
视图( View ),即业务逻辑层 存取模型及调取恰当模板的相关逻辑。 模型与
模板之间的桥梁。
Django 视图不处理用户输入, 而仅仅决定要展现哪些数据给用户, 而 Django 模板 仅仅决定如何展现 Django 视图指定的数据。 或者说 , Django 将 MVC 中的视图进一步分解为 Django 视图 和 Django 模板两个部分,分别决定 “展现哪些数据” 和 “如何展现”,使得 Django 的模板可以根据需要随时替换,而不仅仅限制于内置的模板。
至于 MVC 控制器部分,由 Django 框架的 URLconf来实现。 URLconf机制是使用正则表达式匹配 URL,然后调用合适的 Python 函数。框架把控制层给封装了,无非与数据交互这层都是数据库表的读 ,写,删除 ,更新的操作
二、 设计优势
Django 的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用 ,多个组件可以很方便的以 “插件” 形式服务于整个框架, Django 有许多功能强大的
第三方插件,你甚至可以很方便的开发出自己的工具包。这使得 Django 具有很
强的可扩展性。它还强调快速开发和 DRY(Do Not Repeat Yourself)原则。
对象关系映射 (ORM,object-relational mapping):以 Python 类形式定义你的数据模型,ORM 将模型与关系数据库连接起来, 你将得到一个非常容易使用的数据库 API,同时你也可以在 Django 中使用原始的 SQL语句。
URL 分派:使用正则表达式匹配 URL,你可以设计任意的 URL,没有框架的特定限定。像你喜欢的一样灵活
模版系统:使用 Django 强大而可扩展的模板语言,可以分隔设计、内容和 Python 代码。并且具有可继承性。
表单处理:你可以方便的生成各种表单模型,实现表单的有效性检验。可以方便的从你定义的模型实例生成相应的表单。
Cache 系统:可以挂在内存缓冲或其它的框架实现超级缓冲 -- 实现你所需要的粒度。
会话 (session),用户登录与权限检查,快速开发用户会话功能。
国际化:内置国际化系统,方便开发出多种语言的网站。
自动化的管理界面:不需要你花大量的工作来创建人员管理和更新内容。
Django 自带一个 ADMIN site,类似于内容管理系统。
三、 工作原理
用 manage .py runserver 启动 Django 服务器时就载入了在同一目录下的 settings .py。该文件包含了项目中的配置信息,如前面讲的 URLConf等,其中最重要的配置就是 ROOT_URLCONF,它告诉 Django 哪个 Python 模块应该用作本站的 URLConf,默认的是 urls .py
当访问 url 的时候, Django 会根据 ROOT_URLCONF的设置来装载 URLConf。
然后按顺序逐个匹配 URLConf里的 URLpatterns。如果找到则会调用相关联的视图函数,并把 HttpRequest 对象作为第一个参数 (通常是 request)
最后该 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
您可能关注的文档
- (完整版)2017年人教版小学二年级语文下册单元测试题全册.doc
- (完整版)2017年日照市中考数学试卷及答案解析.doc
- (完整版)2017年山东省临沂市平邑县教师招聘考试中学音乐真题(精选).doc
- (完整版)2017年山东省日照市中考英语试卷.doc
- (完整版)2017年四川德阳英语中考试题.doc
- (完整版)2017年四川省德阳市中考化学试卷及答案.doc
- (完整版)2017年同等学力申硕公共管理真题.doc
- (完整版)2017年小学教学计划.doc
- (完整版)2017年小学学雷锋活动方案..doc
- (完整版)2017年小学语文研修观课报告.doc
- 宣贯培训(2026年)《NYT 4512-2025 非洲菊疫病抗性鉴定技术规程》.pptx
- 宣贯培训(2026年)《NYT 4514-2025木薯副产物综合利用导则》.pptx
- 宣贯培训(2026年)《NYT 4513-2025木薯全程机械化生产技术规范》.pptx
- 宣贯培训(2026年)《NYT 4470-2025全株玉米青贮质量分级》.pptx
- 宣贯培训(2026年)《NYT 4468-2025玉米供需平衡表编制规范》.pptx
- 宣贯培训(2026年)《NYT 4469-2025全株玉米青贮质量评定 综合指数法》.pptx
- 宣贯培训(2026年)《NYT 4474-2025东北地区玉米-大豆轮作生产技术规程》.pptx
- 宣贯培训(2026年)《NYT 4472-2025玉米耐盐碱鉴定评价技术规程》.pptx
- 宣贯培训(2026年)《NYT 4473-2025玉米抗旱性鉴定评价技术规程》.pptx
- 宣贯培训(2026年)《NYT 4478-2025甘薯收获技术规程》.pptx
最近下载
- 基于51单片机的智能宠物养殖箱系统设计.docx VIP
- 天津忠旺铝业有限公司铝及铝合金建设项目环境影响评测报告.pdf VIP
- 股权投资基金合伙协议模板(双GP+委托管理模式) (最全).doc VIP
- 【羿科安全 内部培训】07 足部防护培训.pptx VIP
- 麻黄碱脱氧后处理结晶工艺的论述(第一部分).pdf VIP
- 七年级语文下册第二单元5黄河颂省公开课一等奖新课获奖课件.pptx
- 最新《黄河颂》公开课一等奖课件 .pptx VIP
- 智能家居检测系统.docx
- (81格)舒尔特方格-儿童注意力训练(每日一练,共27份).docx VIP
- (81格)舒尔特方格-儿童注意力训练(每日一练,共20份).docx VIP
原创力文档

文档评论(0)