django_应用及分布式路由
一、应用的定义
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应用app及分布式路由
前言 应用在Django的项目中是一个独立的业务模块,可以包含自己的路由,视图,模板,模型. 一 创建应用程序 创建步骤 用manage.py中的子命令startapp创建应用文件夹 在setting ...
- 8.-Django应用及分布式路由
一.应用 应用在Django项目中是一个独立的业务模块,可以包含自己的路由.视图.模版.模型,可以看成一个小的mtv 创建步骤 1.项目下用manage.py中的子命令创建应用文件夹 python3 ...
- DVR分布式路由
1. 背景 没有使用DVR的场景: 从图中可以明显看到东西向和南北向的流量会集中到网络节点,这会使网络节点成为瓶颈. 如果启用DVR,如下图: 对于东西向的流量, 流量会直接在计算节点之间传递. 对于 ...
- React路由安装使用和多种方式传参
安装路由 npm i react-router-dom -S 引入路由 import { BowserRouter as Router, Route, Switch, ... } from " ...
- 静态路由、RIP、OSPF、BGP
主要内容包含以下四点:(1)静态路由 (2)动态路由 (3)生成树 (4)VLAN 1. 什么是静态路由? 答:静态路由是管理人员手动配置和管理的路由 2. 静态路由由那些优点? 答:配置简单 ...
- 边界网关协议BGP
Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...
- OpenStack Neutron DVR L2 Agent的初步解析 (一)
声明: 本博客欢迎转载,但请保留原作者信息! 作者:林凯 团队:华为杭州OpenStack团队 OpenStack Juno版本号已正式公布,这是这个开源云平台的10个版本号,在Juno版的Neutr ...
- cloudstack4.4新增功能前瞻
cloudstack4.4.0新功能前瞻 转载请注明地址:http://blog.csdn.net/zt689/article/details/37698989 1. cloudstack4.4. ...
- SDN理解:云数据中心底层网络架构
目录 - 目录 - 云数据中心流量类型 - NSX整体网络结构 - 管理网络(API网络) - 租户网络 - 外联网络 - 存储网络 - openstack整体网络结构 - 管理网络:(上图中蓝线) ...
- [译] OpenStack Pike 版本中的 53 个新功能盘点
原文:https://www.mirantis.com/blog/53-things-to-look-for-in-openstack-pike/ 作者:Mirantis Nick Chase 发 ...
随机推荐
- shell语句记录
sed篇: 1. 删除指定的字符,比如 'a'-----$ sed 's/a//' file 2. 移除每一行的第一个字符----$ sed 's/^.//' file 3. 移除每一行的最后一个字符 ...
- java中post发送json格式数据
/** * 发送post请求 * @param URL 数据发送地址 * @param json json格式数据内容 * @param headParams 请求头内容 * @return 请求结果 ...
- zerotier的planet服务器(根服务器)-搭建教程
应用场景介绍: 利用阿里云服务器,搭建根服务器,把不同局域网打通,实现内网穿透,远程控制. 准备工具: 1.服务端:云服务器(有公网IP)Centos 7.6 2.客户端: 工控机(或者家里电脑 ...
- CocosCreator基于jenkins自动构建
1.新建Item,输入名称后选择Freestyle project后点击确定 2.配置项目,自定义工作目录 3.配置源码管理和要摘取的分支 4.构建触发器选择github触发 5.构建选择执行wind ...
- 《Spring Boot从零开始学(视频教学版)》快速入门Spring Boot应用开发
#好书推荐##好书奇遇季#<Spring Boot从零开始学(视频教学版)>,目前为止较好的一本Spring Boot入门书.京东当当天猫都有发售.本书配套示例代码.课件与教学视频.定价7 ...
- SQL应用系列
载自:https://www.cnblogs.com/downmoon/archive/2011/03/10/1980172.html
- C#和.NET Framework 简介
C#是一种通用的类型安全且面向对象编程的语言.这种语言的目标是提高程序员的生产力,为此需要在简单性.可表达性和性能之间实现平衡.C#语言的首席架构师从第一个版本开始就是Anders Hejlsberg ...
- kubernetes强制删除namespace
1.执行命令删除namespace后一直显示Terminating,无法删除namespace [root@k8s-master1 ~]# kubectl get ns NAME STATUS AGE ...
- unix:///var/run/supervisor.sock no such file报错解决办法
报错 unix:///var/run/supervisor.sock no such file 原因 /var/run/supervisor.sock已被清理. 解决办法 关闭supervisor:p ...
- iOS开发 WKWebView实现JS交互
需求:利用webView加载H5页面,并实现点击H5页面的按钮触发事件,事件是调用OC的方法.简单说就是JS调用OC的方法,这里我们选择的是WKWebView,至于为什么不用UIWebView,自行百 ...