Django值应用和分布式路由
以豆瓣为例,界面上展示了很多栏目,比如电影,音乐等等,每个类型下面有自己的一些内容?我们试想一下,这些内容是否会使用一个views.py处理所有呢?这样版本管理起来太复杂了,此时就有了Django应用的概念,应用是Django项目中一个独立的业务模块,可以包含自己的路由,视图,模板,模型
1.分布式路由
引入了应用的概念后,每一个应用就有自己的MTV,我们具体来看看如何使用应用。创建应用:
#创建应用
djang-admin startapp music
#注册应用,在settings.py中的INSTALLED_APPS中注册一个应用
INSTALLED_APPS = [...'django.contrib.staticfiles','music',
]
要将应用添加到项目中,需要在INSTALLED_APP设置中增加指向该应用的配置文件的链接。对于本例中music应用,它的配置文件MusicConfigs位于music/app.py脚本内,所以配置的路径为music. apps. MusicConfig。多数情况下直接配置为music
F:\Django\DjangoStudy\mysite3>django-admin startapp music
项目层架目录如下所示:
Django中,主路由配置文件(urls.py)可以不处理用户具体路由,主路由配置文件做请求的分发,具体的请求可以由各自用的应用来处理。
具体如何配置:
#主路由中调用inclue函数
include('app名字.url模块名')
因此第一步在主路由配置分布式路由,即在项目同名文件夹二级目录下的urls.py中新增
from django.contrib import admin
from django.urls import path, include
from . import viewsurlpatterns = [path('admin/', admin.site.urls),path('test_static',views.test_static),# http://127.0.0.1:8000/music/indexpath('music/',include('music.urls'))
]
在应用music中手动新增一个urls.py子路由文件
from django.urls import path
from music import viewsurlpatterns = [path('index',views.index_view)
]
在应用music的视图函数views.py中新增一个函数index_view
from django.http import HttpResponse
from django.shortcuts import render# Create your views here.
def index_view(request):return HttpResponse('这是音乐频道首页')
接着继续创建sport和news两个应用,按照music的逻辑,注册路由,添加视图函数和子路由等
2.应用模板
在文章的开头,每一个应用都有自己的的MTV,因此还是需要手动创建一个templates文件夹。这里注意如果外层有同名的html文件,会优先匹配外层templates中的html,如果外层的templates文件夹中没有匹配到的html文件,接着在settings.py中INSTALLED_APPS中,按照注册顺序,依次进行匹配。因此这里创建html文件的目录的时候,可以先创建templates文件夹,在templates下再创建一个应用同名文件夹。
同时,调整下news下视图函数
from django.http import HttpResponse
from django.shortcuts import render# Create your views here.
def index_view(request):# return HttpResponse('这是新闻频道首页')return render(request,'news/index.html')
news/templates/news下的index.html文件如下:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>这是新闻频道</title>
</head>
<body>这是新闻频道首页,使用templates/news
</body>
</html>
项目代码见:https://download.csdn.net/download/rhx_qiuzhi/23963960
Django值应用和分布式路由相关推荐
- Django的多应用分布式路由
应用就是在Django项目中,是一个独立的业务模块,可以包含自己的路由,视图,模板,模型. 创建应用app 创建步骤 用manage.py 中的子命令 startapp 创建应用文件夹 在settin ...
- 简单了解Django应用app及分布式路由
前言 应用在Django的项目中是一个独立的业务模块,可以包含自己的路由,视图,模板,模型. 一 创建应用程序 创建步骤 用manage.py中的子命令startapp创建应用文件夹 在setting ...
- 7. django应用及分布式路由
Django应用及分布式路由 应用详解 什么应用 应用在django项目中是一个独立的业务模块,可以包含自己的路由,视图,模板,模型. 例如网站可以分为 金融.体育.娱乐.政治等, 这些就是应用,说白 ...
- Django(14)-应用及分布式路由
Django(1)-简介 Django(2)-创建项目及默认项目目录结构介绍 Django(3)-配置文件详解 Django(4)-URL和视图 Django(5)-路由配置实例 Django(6)- ...
- Django - 应用及分布式路由
应用 应用在 Django 项目中 是一个独立的业务模块,可以包含自己的路由,视图,模板,模型 创建应用 步骤1 --创建 步骤2--注册 配置分布式路由 步骤1 - 主路由中调用 include 函 ...
- 009 Django 应用和分布式路由
应用和分布式路由 文章目录 应用和分布式路由 创建应用 配置分布式路由 应用下的模板 假如我们现在要做的是一个很大的网站,这些网站里面有很多的分区,这么多的分区我们全部都放在同一个views.py里面 ...
- 9.Django应用及分布式路由
目录 1 应用 1.1 创建应用文件夹 1.2 配置应用文件夹 2 分布式路由 2.1 在应用中创建urls.py 2.2 主路由中调用include函数 3 在应用中使用模版 1 应 ...
- Django应用与分布式路由
应用,项目中的独立业务模块,可以保函自己的路由.视图.模板.模型. 一.创建应用 (一)创建应用文件夹 python manage.py startapp [应用名] (二)settings配置 在s ...
- Django(静态文件和Django应用和分布式路由)
什么是静态文件 如:图片.css.js.音频.视频 静态文件配置 --settings.py中 1.配置静态文件的访问路径[该配置默认存在] STATIC_URL = '/static' 指定访问静态 ...
最新文章
- JavaScript中几个重要的知识点(1) ---- 面向对象
- bzoj 2730: [HNOI2012]矿场搭建——tarjan求点双
- php 处理raw数据,php以raw格式传递数据
- shiro 散列加盐(salt) 次数的效果
- SwiftUI之深入解析如何定制视图的动画和转场
- [摘抄]软件设计模式的几个原则
- java求最后一位不为0的数字_【Java】 剑指offer(62) 圆圈中最后剩下的数字
- oracle em搭建,【oracle】手动安装EM
- 如何开启jvm日志_Java 从小白到大牛,JVM 不得不知的一些参数和配置
- 数据库设计_SQL数据库设计(数据建模)
- kettle 连接 Oracle 异常
- 比赛 | 第一届古汉语分词与词性标注国际评测来啦
- JAVA怎么出现10行10列的星号_C语言输出n行n列星号
- 从“制造”到“智造”,南高齿携手锐捷打造“智能工厂”
- 小灰的算法之旅python篇pdf_漫画算法 小灰的算法之旅 Python篇
- 机械工程师手册 pdf版下载_现代机械零部件设计手册 [于惠力 编]pdf下载0284
- 4.jvm入门到精通
- 适合产品经理的桌面壁纸-分类神器
- vs code里面的less插件一直报错_ipad4现在怎么登微信?一直显示微信版本过低怎么办...
- 基于单片机的温度控制系统