IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Django值应用和分布式路由 -> 正文阅读

[Python知识库]Django值应用和分布式路由

    以豆瓣为例,界面上展示了很多栏目,比如电影,音乐等等,每个类型下面有自己的一些内容?我们试想一下,这些内容是否会使用一个views.py处理所有呢?这样版本管理起来太复杂了,此时就有了Django应用的概念,应用是Django项目中一个独立的业务模块,可以包含自己的路由,视图,模板,模型

在这里插入图片描述

1.分布式路由

引入了应用的概念后,每一个应用就有自己的MTV,我们具体来看看如何使用应用。创建应用:

#创建应用
djang-admin startapp music
#注册应用,在settings.py中的INSTALLED_APPS中注册一个应用
INSTALLED_APPS = [
    ...
    'django.contrib.staticfiles',
    '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 views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('test_static',views.test_static),
    # http://127.0.0.1:8000/music/index
    path('music/',include('music.urls'))
]

在应用music中手动新增一个urls.py子路由文件

from django.urls import path
from music import views

urlpatterns = [
    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

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-22 14:38:10  更:2021-09-22 14:39:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:43:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码