天天看点

Django开发模式与流程

Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。

一.Django的MTV开发模式与一般的MVC开发模式区别

1.MVC模式

在MVC模式中,应用程序被划分成了模型(Model)、视图(View)和控(Controller)三个部分。
(1)模型(Model)部分包含了应用程序的业务逻辑和业务数据;
(2)视图(View)部分封装了应用程序的输出形式,也就是通常所说的页面或者是界面;
(3)控制器(Controller)部分负责协调模型和视图,根据用户请求来选择要调用哪个模型来处理业务,以及最终由哪个视图为用户做出应答。           
Django开发模式与流程

2.Django的MTV开发模式

(1)M 带包模型(Model) 负责业务对象和数据库的关系映射(ORM)
(2)T 代表模板(Template) 负责如何把页面展示给用户(html)
(3)V 代表视图 (View) 负责业务逻辑 并在适当时候调用Mode和Template
出了以上三层外,还需要一个URL分发器、他的作用是讲一个个URL的页面请求分发给不同的View处理,           
Django开发模式与流程

两者对应关系:

Django开发模式与流程

M-M:数据库相关

T-V:页面相关

V-C:视图控制

二.Django主要模块及其功能

1.setting:配置信息

2.urls:路由分发功能

3.views:视图处理函数

4.admin:关于数据库的后台管理工具

5.models:数据库表定义的ORM(对象关系映射)

三.Django的生命周期

1.HTTP请求

2.服务器接收,在urls的路由关系表中进行匹配

3.匹配成功后,执行对应视图(views)函数

4.相关业务处理:

(1)个人需求

(2)数据库:原生sql或Django ORM

(3)返回给用户:响应头,响应体

四.创建django程序

终端命令:django-admin startproject sitename
IDE创建Django程序时,本质上都是自动执行上述命令
           

其他常用命令:

  python manage.py runserver 0.0.0.0 启动服务器

  python manage.py startapp appname 创建应用

  python manage.py syncdb

  python manage.py makemigrations 初始化表

  python manage.py migrate 生成表

  python manage.py createsuperuser 创建超级用户

五、程序目录

Django开发模式与流程