一、应用
应用在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语言 WaitGroup 详解

    你必须非常努力,才能看起来毫不费力! 微信搜索公众号[ 漫漫Coding路 ],一起From Zero To Hero ! 前言 在前面的文章中,我们使用过 WaitGroup 进行任务编排,Go语言 ...

  2. 操作 Excel 函数的快捷键

    使用 Excel 函数的时候,需要用两个基本的快捷键来辅助写函数.输入函数时,Excel 会给出建议,选中函数之后不建议用回车键,因为这样做会出现#NAME?,直接使用Tab键即可.之后,通过Ctrl ...

  3. [Android开发学iOS系列] 工具篇: Xcode使用和快捷键

    [Android开发学iOS系列] 工具篇: Xcode使用和快捷键 工欲善其事必先利其器. 编辑 Cmd + N: 新建文件 Option + Cmd + N: 新建文件夹 Cmd + / : 注释 ...

  4. MySQL递归查询语法

    业务上有一个递归查询数据表进行累加计算的需求,实现方式上有函数.SQL语句等多种方式,最后选择了SQL方式,如下: <select id="selectChildren" p ...

  5. 使用VS Code 搭建 platformio 平台

    一.需要的资源网站 arduino GitHub:https://github.com/arduino espressif GitHub:https://github.com/espressif pl ...

  6. sys.path的使用场景

    起因 在初学python时,经常遇到找不到某个路径下的文件,或者在博客中找到的代码需要暴露出环境变量(如linux中可以export PYTHONPATH="$PYTHON;/carla/b ...

  7. KingbaseES 中实现mysql的from_days和to_days

    mysql中两个函数的说明: TO_DAYS(date)给出一个日期date,返回一个天数. FROM_DAYS(N)给出一个天数N,返回一个DATE值. 两个函数比较计算的日期都是 0000-01- ...

  8. Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1、JIRA账号注册

    文章目录: Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1.JIRA账号注册 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2.PGP ...

  9. Typora破解下载

    Typora破解下载 文章指路

  10. flink-cdc同步mysql数据到hive

    本文首发于我的个人博客网站 等待下一个秋-Flink 什么是CDC? CDC是(Change Data Capture 变更数据获取)的简称.核心思想是,监测并捕获数据库的变动(包括数据 或 数据表的 ...