Django 代码是什么样子?
MTV设计模式
先说什么是设计模式,这其实是一种思想,提供了组织业务逻辑的方向。
设计模式都是前人经过千锤百炼总结出来的套路,他并不是具体的代码,而是设计过程中考虑问题的思路。
MTV是Model、Template、View三个单词的简写,分别代表模型、模板、视图。
- 模型(Model),即数据存取层,处理与数据相关的所有事务:如何存取、如何验证有效性、数据之间的关系等。
- 模板(Template),即视图表现层,处理与视图相关的内容:如何在页面或其它服务器托管网类型文档中进行显示。
- 视图(View),即业务逻辑层,存取模型及调用恰当的模板,是模型与模板之间的桥梁。
除了以上这三层之外,还需要一个URL控制器,将一个个URL的页面请求分发给不同的View处理,然后View再调用相应的Model和Template。
MTV的响应模式如图所示:
在传统的数据驱动网站中,Web应用程序会服务器托管网等待来自Web浏览器或其他客户端的HTTP请求。当Django接收到请求时,应用程序根据URL和可能的POST数据或GET数据中的信息确定需要的内容。根据需要,可以从数据库读取或写入信息,或执行满足请求所需的其他任务。然后,该应用程序将返回给Web浏览器或客户端响应。
Django 网络应用程序通常将处理每个步骤的代码分组到单独的文件中:
- URLs:虽然可以通过单个功能来处理来自每个URL的请求,但是编写单独的视图函数来处理每个资源是更加可维护的。URL控制器用于根据请求URL将HTTP请求重定向到相应的视图,还可以匹配出现在URL中的字符串或数字,并将其作为数据传递给视图函数。
- View: 视图是一个请求处理函数,它接收HTTP请求并返回HTTP响应。视图通过模型访问满足请求所需的数据,并将响应的格式委托给模板。
- Models: 模型是定义应用程序数据结构的Python对象,并提供在数据库中增、删、改、查记录的机制。
- Templates: 模板是定义文件(例如HTML页面)的结构或布局的文本文件,用于表示实际内容的占位符。一个视图可以使用HTML模板,从数据填充它动态地创建一个HTML页面模型。可以使用模板来定义任何类型的文件的结构;它不一定是HTML!
URL控制器(urls.py)
URL控制器通常存储在名为urls.py的文件中。在下面的示例中,urlpatterns定义了特定URL模式和相应视图函数之间的映射列表。如果接收到具有与指定模式匹配的URL(例如r’^$’,下面)的HTTP请求,则将调用相关联的视图功能(例如views.index)并传递请求。
urlpatterns = [
path('admin/', admin.site.urls),
path('book//', views.book_detail, name='book_detail'),
path('catalog/', include('catalog.urls')),
re_path(r'^([0-9]+)/$', views.best),
]
两种方法的第一个参数,是将要匹配的路由(模式)。 path()方法使用尖括号,来定义将被捕获、并作为命名参数传递给视图函数的URL的部分。 re_path()函数使用灵活的模式匹配方法,称为正则表达式。
第二个参数,是在匹配模式时将调用的另一个函数。注释views.book_detail表示该函数名为book_detail(),可以在名为views的模块中找到(即在名为views.py的文件中)
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: OpenSergo & Dubbo 微服务治理最佳实践
高春辉、王春生、朱峰:关于开源创业的15件小事 01 Why 微服务治理? 现代的微服务架构里,我们通过将系统分解成一系列的服务并通过远程过程调用联接在一起,在带来一些优势的同时也为我们带来了一些挑战。 如上图所示,可以看到词云中所展示的都是目前微服务架构在生…