写在前面:
Django中的MTV架构是根据MVC模式演变而来的, 因为对网站而言, 网页服务器在收到远程浏览器的请求时, 不同的网址以及连接的方式其实隐含了部分控制逻辑。因此很难把Django这类网站框架严格定义为MVC
MVC架构:Model模型、View视图、Controller控制器
MTV架构:Model模型、Template模板、View视图
-
MVC架构
Model(数据模块)
包含系统中的数据内容, 通常以数据库的形式来存储。 如果这些内容有变动, 就会通知View实时更改显示的内容, 一些处理数据的程序逻辑也会放在这里
- View(视图模块)
创建和用户之间的界面, 把用户的请求传送给Controller, 并按照Controller的要求把来自Model的数据显示出来
- Controller(控制模块)
派发View传来的用户请求, 并按照这些请求处理数据内容以及设置要显示的数据
-
MVT架构
- Template(模板)
做每个网页的外观框架, 送至Template中的数据尽量简单,通俗点说就是.html文件 前端人员负责编写美化的
MTV架构的运转流程:
models.py中定义所有需要用到的数据形式, 一般是以数据库的形式来存储的, 定义后的Model数据类要把它import到views.py中。 主要的操作流程为: 用户再浏览器下request, 这个request 会先被送到网站服务器中做分派的工作, 这个分派的工作指定在urls.py中完成。 每一个分派的工作都会被设置成views.py中的函数, 也就是主要处理数据的逻辑,将在views.py中完成。 因此, 所有在urls.py指派的函数要在urls.py的前面import才行
网站开发步骤:
- 需求分析
- 数据库设计
- 设计.html文件
- virtualenv创建启动虚拟环境
- 安装django
- django-admin startproject生成项目
- python manage.py startapp 创建app
- 创建templates文件, 放入.html文件
- 创建static文件, 存储静态文件
- 修改settings.py
- 编辑models.py 创建数据库表格
- 编辑views.py import models.py的创建的数据模型
- 编辑admin.py 把models.py中定义的数据模型加入, 并使用admin.site.register注册新增的类
- 编辑views.py, 设计处理数据的相关模块,联系.html
- 编辑urls.py, 导入views.py中定义的模块,创建网址和views.py 中定义的模块的对应关系
- python manage.py makemigrations
- python manage.py migrate
- python manage.py runserver 测试网站