mvc与mtv模型

web服务器开发领域里著名的mvc模式,所谓mvc就是把web应用分为模型(M),控制器(C),视图(V),以插件的形式,松耦合的方式连接在一起,模型负责业务对象与数据库的映射,视图负责用户交互,控制器接受用户输入调用模型和视图完成用户的请求

MTV

Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值:

  • M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。
  • T 代表模板 (Template):负责如何把页面展示给用户(html)。
  • V 代表视图(View):   负责业务逻辑,并在适当时候调用Model和Template。

除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template,MTV的响应模式如下所示:

一般是用户通过浏览器向我们的服务器发起请求,url控制器根据相应的url匹配相应的视图函数,这个请求回去访问视图函数,(如果不涉及视图调用,这个时候视图返回一个模板也就是网页返回给用户),视图函数调用模型,模型去数据库查找数据,逐级返回,视图函数再把返回的数据填充到模板空格中,最后返回网页给用户

DJANGO的基本命令

1.创建一个django project

django-admin startproject mysite(项目名)

2.在mysite目录下创建应用

python manage.py startapp blog(名)

就是主要创建出models,views因为做一个项目不可能把所有的数据库和逻辑放在一个文件下

3.启动django项目

python manage.py runserver 8080

这样django就创建出来了

url控制器

 from django.contrib import admin
from django.urls import path #这里引用views里的模块
from app01 import views urlpatterns = [
path('admin/', admin.site.urls),
#这里添加路径
path('index/',views.index),
]

url控制器

视图

 from django.shortcuts import render

 # Create your views here.

 def index(request):

     import datetime
now=datetime.datetime.now()
ctime=now.strftime("%Y-%m-%d %X") return render(request,"index.html",{"ctime":ctime})

视图

模板

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <h4>当前时间:{{ ctime }}</h4> </body>
</html>

模板

dgango的更多相关文章

  1. python dgango简介 安装 多表查询

    一.socket服务器 import socket sk=socket.socket() sk.bind(("127.0.0.1",8890)) sk.listen() while ...

  2. dgango中admin下添加搜索功能

    admin下添加搜索功能: 在表单中加入search_fields = ['ip','hostname']   可模糊匹配 当有人在管理搜索框中进行搜索时,Django将搜索查询分解成单词,并返回包含 ...

  3. dgango 报错: Timeout when reading response headers from daemon process

    问题: image = np.asarray(bytearray(f.read()), dtype="uint8")cv2_img = cv2.imdecode(image, cv ...

  4. day19 Dgango进阶 路由系统及 ORM 详解

    完成一个完整的网页服务,需要有以下: 再次回顾一下Django 的完成开发流程: 一些值的获取: 对于性别,为互斥属性: 爱好则为多选: 需要使用新的方法 getlist 来获取多个爱好: 单选下拉框 ...

  5. 【Dgango】模版

    继承 ① extends用法:只继承一个模版 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  6. dgango 反射

    相关 """ 反射 由字符串反向找 变量.函数.类 """ import sys class Person(object): def __i ...

  7. 循序渐进Python3(十二) --1--  web框架之django

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

  8. python_way day18 html-day4, Django路由,(正则匹配页码,包含自开发分页功能), 模板, Model(jDango-ORM) : SQLite,数据库时间字段插入的方法

    python_way day18 html-day4 1.Django-路由系统   - 自开发分页功能 2.模板语言:之母板的使用 3.SQLite:model(jDango-ORM) 数据库时间字 ...

  9. Pycharm+Django搭建第一个Python Web程序

    1.安装django 无论是Python2.x还是Python3.x版本,都可以使用pip来安装Django.在控制台使用如下命令:pip install django 如: 2.检查dgango是否 ...

随机推荐

  1. java大作业博客--购物车

    Java 大作业----使用MySQL的购物车 一.团队介绍 姓名 任务 李天明.康友煌 GUI设计及代码编写 谢晓淞 业务代码编写.MySQL服务器平台部署.git代码库 严威 类和包的结构关系设计 ...

  2. [LeetCode] 104. Maximum Depth of Binary Tree 二叉树的最大深度

    Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...

  3. MongoDB出现The default storage engine 'wiredTiger' is not available之问题解决

    问题描述:低版本MongoDB存在该问题(版本为3.x),高版本则无该问题. 参考解决问题链接:MongoDB学习—(1)安装时出现The default storage engine ‘wiredT ...

  4. 3 datax mysql和hive之间相互导入

                                                mysql-->hive     0 参考文档: https://github.com/alibaba/D ...

  5. Qt 绘制图表 - Qt Charts版

    一.前言 自从 Qt 发布以来,给广大跨平台界面研发人员带来了无数的福利.但是Qt自己却一直没有提供自带的图表库,这就使得 QWT.QCustomPlot 等第三方图表库有了巨大的生存空间,为了降低开 ...

  6. HTML5网页上播放mp4失败的原因

    HTML5先网页直接打开mp4 如果打不开 先用格式工厂转化下格式 转成mp4 avc编码 就行了 ps:ae要先导出mp4 然后再用上面的方法 不要导出avi 不然转化成 avc也是播放不了

  7. Laravel框架中Echo的使用过程

    今天的这篇文章中给大家分享关于laravel框架中echo的使用,文章的内容是一步一步来的,用了16步走完一个过程,过程很清晰,希望可以帮助到有需要的朋友吧.话不多说,直接看内容.官方文档推荐使用 P ...

  8. Redmine添加插件

    注意:插件的安装必须到Plugins对应的文件目录执行命令! Plugins Plugin list A full list of available Redmine plugins can be f ...

  9. luogu p2705 小球

    题目部分 题目描述 有 R 个红色盒子和 B 个蓝色盒子,还有 R 个红色小球和 B 个蓝色小球.每个盒子只能装一个小球,每个小球都要放在一个盒子里. 如果把一个红色小球放在一个红色盒子里,那么得分是 ...

  10. Rabbit MQ 学习参考

    网上的教程虽然多,但是提供demo的比较少,或者没有详细的说明,因此,本人就照着网上的教程做了几个demo,并把代码托管在码云,供有需要的参考. 项目地址:https://gitee.com/dhcl ...