MTV框架和MVC框架本质上没有什么差别。
概述:用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件中,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。被独特的发展起来用于映射传统的输入,处理和输出功能在一个逻辑的图形化用户界面的结构中。
核心思想:解耦,降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上的实现代码的重用。
MVC:Model(模型) 负责业务对象与数据库的对象(ORM)
View(视图) 负责业务逻辑,并在适当的时候调用Model和Template
Template(模板) 负责如何把页面展示给用户
注意:Django还有一个url(路由)分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template
流程:用户用控制器在页面输入访问url->根据url匹配相应的视图(view)函数->视图(view)去模型(model)里取数据->模型(model)去数据库中取数据,将数据返回给视图(view)->视图(view)把要显示的数据返回给模板(template)->模板(template)就是html文件,并返回给用户。
基本流程操作
1.设计表结构
2.配置数据库:对databases进行配置(记得要打开数据库)
注意:Django中默认使用的是SQLite数据库,python3装的是PyMysql
1.在init.py 中增加如下代码
import pymysql pymysql.install_as_MySQLdb()
2.修改database
3.创建应用:一个工程中可以创建一到多个应用,每个应用进行一种业务处理
在cmd终端进入创建的工程目录下:输入 <python manage.py startapp myApp>
4.激活应用:在setting.py文件中,将myApp应用加入到
5.定义模型
概述:有一个数据表,就有一个模型与之对应
在项目目录下的models.py中定义模型
6.生产数据表
1.生成迁移文件 :python manage.py makemigrations
2.执行迁移:python manage.py migrate
7.测试数据操作
1.进入python shell :python manage.py shell
2.引入包:python manage.py makemigratons
3.查询:Grades.objects.all() 查看班级表中的所有数据
4.创建数据,,,查看某个对象 ,,,修改数据,,,,删除数据,,,,(g.delete)
8.启动服务器 :格式python manage.py runserver ip:port
默认端口为8000,可以修改。python manage.py runserver 8080
Admin站点管理
概述: 负责添加、修改、删除内容,开发这些重复的功能是一件单调乏味,缺乏创造力的工作。为此,Django提供自动生成模块
1.配置Admin:在setting.py文件中的INSTALLED_APPS添加'django.contrib.admin'
注意:默认已经配置,后面可以使用xadmin进行站点管理,和admin使用和思想基本一致。更多定制。
2.创建管理用户 :python manage.py createsuperuser
依次输入用户名,邮箱,密码
3.配置管理的数据表:将要管理的表添加到项目目录下的admin.py文件中注册
4.自定义管理界面:
1.ModelAdmin类是模型在Admin界面中的表现形式,通过ModelAdmin的子类,来定义模型在Admin界面的显示方式
2.属性说明:
列表页属性
添加、修改页的属性
视图的基本使用
1.概述:在Django中,视图对应web请求进行回应,视图接收request对象作为第一个参数,包含了请求的信息,视图就是一个python函数,绑定在views.py中
2.定义视图
3.修改project目录下的urls.py文件
-
在myApp目录下创建名为urls.py的文件
模板的基本使用
1.概述:模板是html页面,可以根据视图中传递的数据而渲染
2.创建模板:在工程目录下创建的templates目录,用来存放模板
注意:templates目录也可以放到项目目录中
3.配置setting.py文件中的TEMPLATES
4.定义模板
5.在view中使用模板:1.定义路由 2.匹配路由 url(r'^students/$', views.students)