django_应用及分布式路由

2023-03-18,,

一、应用的定义

  1、应用在Django中是一个独立的业务模块,可以包含自己的路由、视图、模板、模型。

    例如如下图所示,一个资讯类网站中会有不同的模块,如果所有的模块共用一个views.py文件,则会导致文件异常庞大,且不利于协同开发,因此需要将各个模块区分开来。每一个模块负责的内容称之为一个应用,每一个应用下面都是一个MTV。

二、创建步骤

  步骤一:创建。用manage.py中的子命令startapp创建应用文件夹: python3 manage.py startapp music(文件夹名称,不要和python的关键字重复)

  步骤二:注册。在settings.py的INSTALLED_APPS列表中配置安装此应用。INSTALLED_APPS本身是一个数组,每增加一个模块,就相当于增加一个元素。

  APP文件解析。如下图所示:

      (1)migrations文件中存放的是模型相关的文件、数据库相关的文件;

      (2)admin中存放的是管理后台相关得到文件;

      (3)models中存放的也是模型相关的文件、数据库相关的文件,用于编写模型的入口;

      (4)test为测试文件,测试入口;views文件为视图相关的文件,存放当前app的视图文件;

三、分布式路由的实现

1、思想:主路由只负责将请求分发给各个应用,各个应用再在做具体的处理 。处理流程如下:

2、创建步骤

任务:假设要访问music目录下的一个视图函数:http://127.0.0.1:8080/music/test

(1)在主路由下添加include模块,并将music模块对应的url模块名称添加进去(注意:与之前不同的是,此处要传入路由模块名,之前是直接传视图函数)。

(2)在music目录下添加路由文件(注意:新创建的APP不会包含路由文件,因此需要手动添加),路由文件中的

urlpatterns必须拼写正确,否则会报错。

(3)在music文件夹下添加视图函数

(4)启动应用并测试响应。

四、各个应用下的templates

1、每个应用下都可以有自己的一套templates,但是文件的名字必须是templates。

2、当出现外层目录、各个应用下面都出现有同名模板时,django会按照一定的规则进行寻找。


django_应用及分布式路由的相关教程结束。

《django_应用及分布式路由.doc》

下载本文的Word格式文档,以方便收藏与打印。