Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。
一.Django的MTV开发模式与一般的MVC开发模式区别
1.MVC模式
在MVC模式中,应用程序被划分成了模型(Model)、视图(View)和控(Controller)三个部分。
(1)模型(Model)部分包含了应用程序的业务逻辑和业务数据;
(2)视图(View)部分封装了应用程序的输出形式,也就是通常所说的页面或者是界面;
(3)控制器(Controller)部分负责协调模型和视图,根据用户请求来选择要调用哪个模型来处理业务,以及最终由哪个视图为用户做出应答。
2.Django的MTV开发模式
(1)M 带包模型(Model) 负责业务对象和数据库的关系映射(ORM)
(2)T 代表模板(Template) 负责如何把页面展示给用户(html)
(3)V 代表视图 (View) 负责业务逻辑 并在适当时候调用Mode和Template
出了以上三层外,还需要一个URL分发器、他的作用是讲一个个URL的页面请求分发给不同的View处理,
两者对应关系:
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 创建超级用户