中文教程
Django 官方文档
Web开发框架
首先,Web开发就是一种 B/S
模式,即浏览器/服务器架构的开发,在前台的用户浏览器上面展示出后台相关的用户数据,通常是一种较为友好的图形化界面。Django 就是一个基于 Python 的Web开发框架。
和其他任何一种框架的一样,Web开发框架同样是希望将一些底层的东西封装起来,让使用者专注于顶层应用逻辑的实现,即将多层的网络协议和实现细节封装起来,用户只需要专注于Web应用的逻辑开发。
这就是Web开发框架,通常来说一个Web开发框架是这样的:
其中:
- WSGI:python的网页服务器的网关接口,是Web服务器和python的web应用之间的一个通信协议或者是规范,使得不同的Web服务器和不同的Python程序之间可以进行通信
- ORM:即
Object Relation Mapper
,对象和关系之间的映射,通过这个映射使得我们可以直接在Python的Web应用程序上用对象的形式表示数据库中的 table 数据,事实上也是一个规范,即类和数据库表之间的映射规范。此时原本在数据库上面的增删改查变成在对象中对应方法的调用
Django:基于Python的Web开发框架
Django 是一个功能非常齐全的 Python Web应用开发框架,相比于一些轻量级的框架(flast),功能要素更加的齐全。Django 同样遵循经典的MVC设计模式,但是其中对 View
进行了适当的调整,将 View
拆分为 View
和 Template
,使
框架架构
Django 的框架如下:
Figure 2-1 Django 框架
其中:
Model
:即Python应用程序中的对象,Django自带ORM组件,可以直接进行数据库的访问View
:业务逻辑的输出结果,数据的呈现的静态HTML内容Template
:和View中静态的内容相对应的动态内容,通过Templates
模块语言实现Forms
:Admin
:Security
:Internationalization
:optimization
:Geographic
:Cmommon Web application tools
:
MTV 设计模式
可以看到,和传统的 MVC
设计模式不同,django
把 view
部分拆分成了两个部分:
- 网页中的静态HTML内容
- 通过
Templates
模块语言编写的动态内容,包含和python应用程序中相对应的变量以及和页面展示相关的逻辑处理,动态展示页面内容;通过前端模块语言中的变量,也可以直接将对应的用户输入反馈到应用程序中
Figure 2-2 MTV
其他特点
除了前面我们提到 Django
自带的 ORM
(你也可以使用其他访问技术)以外:
- 使用正则表达式管理
url
映射 - 完善的在线文档
- 大量线程的工具
- 丰富的模板语言,可以自定义模板标签
- 免费的后台管理系统