一、应用的定义

  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_应用及分布式路由的更多相关文章

  1. 简单了解Django应用app及分布式路由

    前言 应用在Django的项目中是一个独立的业务模块,可以包含自己的路由,视图,模板,模型. 一 创建应用程序 创建步骤 用manage.py中的子命令startapp创建应用文件夹 在setting ...

  2. 8.-Django应用及分布式路由

    一.应用 应用在Django项目中是一个独立的业务模块,可以包含自己的路由.视图.模版.模型,可以看成一个小的mtv 创建步骤 1.项目下用manage.py中的子命令创建应用文件夹 python3 ...

  3. DVR分布式路由

    1. 背景 没有使用DVR的场景: 从图中可以明显看到东西向和南北向的流量会集中到网络节点,这会使网络节点成为瓶颈. 如果启用DVR,如下图: 对于东西向的流量, 流量会直接在计算节点之间传递. 对于 ...

  4. React路由安装使用和多种方式传参

    安装路由 npm i react-router-dom -S 引入路由 import { BowserRouter as Router, Route, Switch, ... } from " ...

  5. 静态路由、RIP、OSPF、BGP

      主要内容包含以下四点:(1)静态路由 (2)动态路由 (3)生成树 (4)VLAN 1.  什么是静态路由? 答:静态路由是管理人员手动配置和管理的路由 2.  静态路由由那些优点? 答:配置简单 ...

  6. 边界网关协议BGP

    Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...

  7. OpenStack Neutron DVR L2 Agent的初步解析 (一)

    声明: 本博客欢迎转载,但请保留原作者信息! 作者:林凯 团队:华为杭州OpenStack团队 OpenStack Juno版本号已正式公布,这是这个开源云平台的10个版本号,在Juno版的Neutr ...

  8. cloudstack4.4新增功能前瞻

    cloudstack4.4.0新功能前瞻 转载请注明地址:http://blog.csdn.net/zt689/article/details/37698989 1.   cloudstack4.4. ...

  9. SDN理解:云数据中心底层网络架构

    目录 - 目录 - 云数据中心流量类型 - NSX整体网络结构 - 管理网络(API网络) - 租户网络 - 外联网络 - 存储网络 - openstack整体网络结构 - 管理网络:(上图中蓝线) ...

  10. [译] OpenStack Pike 版本中的 53 个新功能盘点

      原文:https://www.mirantis.com/blog/53-things-to-look-for-in-openstack-pike/ 作者:Mirantis Nick Chase 发 ...

随机推荐

  1. DOS下的一些命令

    DOS一些命令 1.查看无线密码    netsh wlan show profiles   #显示所有本地电脑加入过的wlan    netsh wlan show profiles name=&q ...

  2. 用dig或nslookup命令查询txt解析记录

    这几天想把HTTPS装上,阿里云的免费证书需要在域名解析的地方添加TXT记录.文档里用的是dig命令,我本地装了nslookup.试验下如何用咯. dig命令 dig用法很多,这里只使用dig txt ...

  3. 解决从PLSQL导出到CSV文件的时候提示 is not a valid date and time的问题

    操作下面步骤的时候,报出[XXXXXis not a valid date and time]的错误 问题原因:以前嫌弃任务栏右下角的时间显示格式不好,手动手改了一下,导致Oracle的日期格式与现在 ...

  4. vant-ui经验

    1.van-checkbox搭配van-cell使用,点击圆圈区域,不触发定义的click函数. 解决:给van-checkbox添加一层div,添加click事件:van-checkbox也添加cl ...

  5. HDLbits——Exams/2014 q4b

    题目要求 使用verilog描述如图所示得移位寄存器: Write a top-level Verilog module (named top_module) for the shift regist ...

  6. 简单的js hook

    // ==UserScript== // @name ethereum request // @namespace http://tampermonkey.net/ // @version 0.1 / ...

  7. K8s网络策略

    Network Policy(网络策略) 默认情况下,k8s集群网络是没有任何限制的,Pod可以和任何其他Pod通信,在某些场景下需要做网络控制,减少网络面的攻击,提高安全性,就会用到网络策略(Net ...

  8. string字符串类型的属性及各种方法

    C# 字符串(String) 在 C# 中,您可以使用字符数组来表示字符串,但是,更常见的做法是使用 string 关键字来声明一个字符串变量.string 关键字是 System.String 类的 ...

  9. window java 字节码修改

    前提:  win10 安装包: 1.  JDK10.0.1.msi (包含jre环境),    JDK的安装路径 2.  jclasslib 6.0.3    用于编辑常量 3.JBE    用于编辑 ...

  10. vue data functions should return an object

    报错: 原因:data里没写return{}