我之前提到过MVT(**Model-**View-**Template)架构。

您必须了解 MVC 架构,它允许开发人员分别更改应用程序的可视部分和业务逻辑部分,而不会相互影响。但对于 Django,情况略有不同。

Django 强制开发人员将他们的应用程序开发分成 3 个松散耦合的组件,modelviewtemplate

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--05oc6PQ7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/uploads/articles/wjhxbqftwrtotbs2ipiu.jpg)

图片来源:hackr.io

MODEL : 数据管理层

它是管理应用程序数据的组件,通常直接与数据库交互(在我们的例子中是_PostgreSQL_)。

模板:数据表示层

这是向_或_提供数据的层,接受来自用户的数据,(通常这是大多数用户与之交互的内容)。

VIEW : 层间

这是位于数据管理层和数据表示层之间的部分。 (该层从表示层抓取数据,通常是一些用户输入,对数据进行操作,然后将其传递给数据管理层_或_反之亦然)。

Django 的 MVT 架构

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--zZGjGMEK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/uploads/articles/148cwitoas0al156tofq.jpg)

我可以举几个例子来更好地理解 MVT 架构......

示例 1:

1) 客户请求菜单页面。

2) Django 将传入请求(URL)映射到应用程序逻辑(视图函数)。

3) 将在 URL 配置文件中指定 URL 列表。

4) Django 查看 URL 列表并调用映射到找到匹配项的 URL 模式的适当 view 函数

5) 然后,请求的菜单页面将通过浏览器从_模板_呈现给客户。

示例 2

1) 我们可以有另一种情况,新客户试图通过发送一些信息进行注册。现在在这里,这变成了来自用户的_保存请求_。

2) 此保存请求转到_models 文件_,其中定义了一组_python 类_,将_database table_ 映射到python_objects_。

3) 模型文件通过数据库 API psycopg2 直接与数据库交互。

这是_MVT架构_的简要说明。

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐