怎么在Django中实现测试设计模式

  介绍

怎么在Django中实现测试设计模式?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

经典的MVC设计模式及其优点

MVC即模型-视图-控制器(模型,视图——控制器),是经典的软件开发设计模式。

<李>

* *模型(模型)* *:简而言之即数据模型。模型不是数据本身(比如数据库里的数据),而是抽象的描述数据的构成和逻辑关系。通常模型包括了数据表的各个字段(比如人的年龄和出生日期)和相互关系(单对单,单对多关系等).Web开发框架会根据模型的定义来自动生成数据表。

<李>

视图(视图):主要用于显示数据,用来展示用户可以看到的内容或提供用户可以输入或操作的界面。数据来源于哪里?当然是数据库啦。那么用户输入的数据给谁?当然是给控制器啦。

<李>

控制器(控制器):应用程序中处理用户交互的部分,通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据(比如增加或更新数据表)。

如果把MVC比喻成一个粽子,那么视图就是最外面一层的绿色玉米叶,是吃货们可以直接看到的范式就是中间那层熟糯米,而粽子的核心自然是最里面那一层的肉馅模型模型了。现在大家知道中学和大学数学建模的重要性了吧?

MVC最大的优点是实现了软件或网络应用开发过程中数据,业务逻辑和用户界面的分离,使软件开发更清晰,也是维护变得更容易。这与静态网页设计中使用html和css实现了内容和样式的分离是同一个道理。

Django是如何遵循MVC设计模式的?

Django的测试设计模式由模型(模型),视图(视图)和模板(模板)三部分组成,分别对应单个应用目录下的模型。py、视图。py和模板文件夹。它们看似与MVC设计模式不太一致,其实本质是相同的.Django的测试设计模式与经典的MVC对应关系如下。

<李>

Django模型(模型):这个与经典MVC模式下的模型模型差不多。

<李>

Django视图(视图):这个与MVC下的控制器控制器更像。视图不仅负责根据用户请求从数据库读取数据,指定向用户展示数据的方式(网页或json数据),还可以指定渲染模板并处理用户提交的数据。

<李>

Django模板(模板):这个与经典MVC模式下的视图视图一致。模板用来呈现传Django视图来的数据,也决定了用户界面的外观.Template里面也包含了表单,可以用来搜集用户的输入内容。

Django测试设计模式中最重要的是视图(视图),因为它同时与模型(模型)和模板(模板)进行交互。当用户发来一个请求(请求)时,Django会对请求头信息进行解析,解析出用户需要访问的url地址,然后根据路由url。py中的定义的对应关系把请求转发到相应的视图处理。视图会从数据库读取需要的数据,指定渲染模板,最后返回响应数据。这个过程如下图所示:

怎么在Django中实现测试设计模式

示例

现在我们以示例演示Django的测试三部分是如何工作的。

新建应用并注册

假如你有一个mysite项目,希望新增一个任务管理小应用,你首先要使用python管理。py startapp任务的命令创建一个名为任务的应用程序,将它加入到设置。py中的INSTALLED_APP中去。

#, mysite/settings.py      INSTALLED_APPS =, (   ,,,& # 39;django.contrib.admin& # 39;   ,,,& # 39;django.contrib.auth& # 39;   ,,,& # 39;django.contrib.contenttypes& # 39;   ,,,& # 39;django.contrib.sessions& # 39;   ,,,& # 39;django.contrib.messages& # 39;   ,,,& # 39;django.contrib.staticfiles& # 39;   ,,,& # 39;任务# 39;   )

然后把任务应用的网址添加到到项目的url中去。

#, mysite/urls . py      得到django.contrib  import 管理   得到django.urls  import 路径,包括      urlpatterns =, (   ,,,路径(& # 39;管理/& # 39;,,admin.site.urls),   ,,,路径(& # 39;任务/& # 39;,,包括(& # 39;tasks.urls& # 39;))   )

创建模型(M)

编辑任务目录下的模型。py创建任务模型、任务模型包含里名称名和状态状态两个字段。当你使用python管理。py makemigrations和python管理。py迁移命令时,Django会自动为你在数据库创建数据表(默认使用的数据库是免费的sqlite),表名为tasks_task。

怎么在Django中实现测试设计模式