一、应用
应用在Django项目中是一个独立的业务模块,可以包含自己的路由、视图、模版、模型,可以看成一个小的mtv
创建步骤
1.项目下用manage.py中的子命令创建应用文件夹
python3 manage.py startapp 文件夹名
2.在settings.py INSTALLED_APPS 列表中安装此应用
 
初始应用结构
migrations文件夹:模型层迁移文件
admin.py :管理后台
apps.py:应用下的相关配置
models.py:模型层
tests.py:测试入口
views.py:应用下的视图层
 
 
二、分布式路由
1.分布式路由概念
Django中,主路由配置文件urls.py可以不处理用户具体路由,主要路由配置文件的可以做请求的分发(分布式处理),具体的请求可 以由各自的应用来进行处理
在应用下创建该应用的urls.py 路由文件,由主路由做请求的分发指向对应的应用路由,再由单独的应用路由进行请求处理
 
2.配置分布式路由
1.主路由中调用include函数
语法:include('app名字.url模块名')
作用:用于将当前路由转到各个应用的路由配置文件的urlpatterns进行分布式处理
 
2.应用下配置urls.py
应用下手动配置urls.py文件
内容结构与主路由完全一致
 
示例:
导包:from django.urls import include
 
在主路由中自定义路径,然后使用include执行指定应用的urls
如图 请求http://127/0.0.0.1:8000/new/index 的时候,主路由匹配到new,然后 include将指向new_apps.urls,然后应用下的路由匹配index,指向对应的视图做相应请求
 
PS : 主路由有admin/路径,子路由如果有重名路径,会冲突
 
三、应用下的模版
1.应用内部可以配置模版目录
1.应用下手动创建templates文件夹
2.在settings.py中开启应用模版功能
TEMPLATE配置项中的 APP_DIRS值为True即可 #默认是开启的
2.应用下的templates和外层的templates都存在时,Django的查找规则
1.优先查找外层的templates目录下的模版
2.按INSTALLED_APPS配置下的应用顺序逐层查找
3.如果外层和应用下有同名html文件,会优先匹配到外层,我们可以在应用下templates创建一个应用同名文件夹,将模版放在文件夹下,
多写一层路径,比如new_apps/index.html,利用嵌套层级解决这种问题
 

8.-Django应用及分布式路由的更多相关文章

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

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

  2. django第四天(路由别名,django2.x新特性和自定义转换器)

    django第四天 路由别名 1.路由别名: 给路由路径命名一个名字 url(r'^login/$',views.login,name = 'login') 2.为什么要用路由别名 ①当路由路径过长时 ...

  3. Django框架——基础之路由系统(urls.py)

    1.URL路由系统前言 URL是Web服务的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的URL地址,然后被响应. 在Django项目中编写路由,就是向外暴露我们接收哪些URL的请求,除 ...

  4. Django框架——基础之路由系统(urls.py)11111111

    1.URL路由系统前言 URL是Web服务的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的URL地址,然后被响应. 在Django项目中编写路由,就是向外暴露我们接收哪些URL的请求,除 ...

  5. Django的urls(路由)

    目录 Django的urls(路由) 正则表达式详解 路由匹配(分组匹配) 无名分组 有名分组 反向解析 无名分组反向解析 有名分组反向解析 路由分发 名称空间 虚拟环境 伪静态 Django的url ...

  6. Django基础三之路由、视图、模板

    Django基础三之路由.视图.模板 目录 Django基础三之路由.视图.模板 1. Django 请求和返回周期 1.1 路由层之路由匹配 1.2 有名分组 1.3 无名分组 2. 反射解析 3. ...

  7. python 学习笔记十六 django深入学习一 路由系统,模板,admin,数据库操作

    django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ ...

  8. django celery的分布式异步之路(二) 高并发

    当你跑通了前面一个demo,博客地址:http://www.cnblogs.com/kangoroo/p/7299920.html,那么你的分布式异步之旅已经起步了. 性能和稳定性是web服务的核心评 ...

  9. django celery的分布式异步之路(一) 起步

    如果你看完本文还有兴趣的话,可以看看进阶篇:http://www.cnblogs.com/kangoroo/p/7300433.html 设想你遇到如下场景: 1)高并发 2)请求的执行相当消耗机器资 ...

随机推荐

  1. 层次分明井然有条,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang包管理机制(package)EP10

    Go lang使用包(package)这种概念元素来统筹代码,所有代码功能上的可调用性都定义在包这个级别,如果我们需要调用依赖,那就"导包"就行了,无论是内部的还是外部的,使用im ...

  2. java中为什么只存在值传递(以传入自定义引用类型为例)

    java中只有值传递 为什么这么说?两个例子: public class Student { int sage = 20; String sname = "云胡不归"; publi ...

  3. Taurus.MVC 微服务框架 入门开发教程:项目集成:5、统一的日志管理。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  4. 【读书笔记】C#高级编程 第十九章 程序集

    (一)程序集的含义 程序集是.NET用于部署和配置单元的术语. .NET应用程序包含一个或多个程序集.通常扩展名是EXE或DLL的.NET可执行程序称为程序集. 程序集是自我描述的安装单元,由一个或多 ...

  5. dp-LIS LCS 模型

    最长上升子序列问题: https://www.cnblogs.com/sxq-study/p/12303589.html 一:两遍LIS问题 1:题目: 怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为 ...

  6. G&GH05 删除文件和.gitignore

    注意事项与声明 平台: Windows 10 作者: JamesNULLiu 邮箱: jamesnulliu@outlook.com 博客: https://www.cnblogs.com/james ...

  7. HCIA-STP原理与配置

    STP协议生成树协议: 为了保证网络可靠,所以在组网时需要设置冗余链路和设备,从而在物理结构上形成结构,又因为交换机的工作特点导致二层网络中产生广播风暴和MAC地址表震荡现象,影响用户体验. 广播风暴 ...

  8. 6、Arrays类

    Arrays类 Arrays里面包含了一系列静态方法,用于管理或操作数组(比如排序和搜索) 常用方法 toString 返回数组的字符串形式 Arrays.toString(arr) Integer[ ...

  9. Odoo自建应用初步总结(一)

    学习了<Odoo快速入门与实践 Python开发ERP指南>(刘金亮 2019年5月第1版 机械工业出版社)第6章自建应用入门后进行一下总结. 因为本书作者使用Odoo11,而目前最新版本 ...

  10. getSessionFactory().openSession()导致druid连接池中的连接都占用满但无法回收

    该问题产生的现象 页面刷新几次后,就卡住,线上就得需要重新部署(还好是测试环境,不是真正生产环境) 过程及原因 查看日志线程池满了 Caused by: org.springframework.jdb ...