MVC和MTV框架模式

时间:2023-03-09 17:54:49
MVC和MTV框架模式
1. MVC:
MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),具有耦合性低、重用性高、生命周期成本低等优点。

django -- MTV

Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性。

 M -- models 数据库相关(orm)
T -- templates HTML相关 html就是模板
V -- views 视图相关(逻辑)
+ controller url控制器(url分发器,路由分发)
#manage.py -----
Django项目里面的工具,通过它可以调用django shell和数据库,启动关闭项目与项目交互等,不管你将框架分了几个文件,必然有一个启动文件,其实他们本身就是一个文件。
#settings.py ----
包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。
#urls.py -----
负责把URL模式映射到应用程序,路由分发,控制器
#wsgi.py ----
runserver命令就使用wsgiref模块做简单的web server,后面会看到renserver命令,所有与socket相关的内容都在这个文件里面了,目前不需要关注它。
'''创建的应用的目录结构'''
#models.py
之前我们写的那个名为model的文件就是创建表用的,这个文件就是存放与该app(应用)相关的表结构的
#views.py
存放与该app相关的视图函数的,逻辑函数

Djiango路由分发

# 无名分组参数
url(r'^articles/(\d+)/(\d+)/', views.articles), #articles/2019/9/
def articles(request,year,month): # 位置参数 2019 9
print(year,type(year)) #2019 <class 'str'> #匹配出来的所有数据都是字符串
print(month)
return HttpResponse(year+'年'+ month +'月' +'所有文章')
# 有名分组参数
url(r'^articles/(?P<xx>\d+)/(?P<oo>\d+)/', views.articles), #articles/2019/9/
#xx=2019 oo=9 关键字传参
def articles(request,oo,xx): # 关键字传参 2019 9
# 参数名就是在url中写的名字 oo,xx
print(xx,type(xx)) #2019 <class 'str'> #匹配出来的所有数据都是字符串
print(oo)
return HttpResponse(xx+'年'+ oo +'月' +'所有文章')