Django(14)-应用及分布式路由

Django(1)-简介

Django(2)-创建项目及默认项目目录结构介绍

Django(3)-配置文件详解

Django(4)-URL和视图

Django(5)-路由配置实例

Django(6)-请求及响应

Django(7)-Get请求和Post请求

Django(8)-设计模式

Django(9)-模板层简介与入门实例

Django(10)-模板层的变量和标签

Django(11)-模板层的过滤器和继承

Django(12)-url反向解析

Django(13)-静态文件

Django(14)-应用及分布式路由

Django(15)-模型层及ORM介绍

Django(16)-ORM基础字段及选项

Django(17)-ORM创建数据

Django(18)-ORM常用的查询函数详解及实例演示

Django(19)-ORM条件查询

Django(20)-ORM更新操作及实例演示

Django(21)-ORM删除操作及实例演示

Django(22)-ORM中F对象和Q对象

Django(23)-ORM聚合查询和原生数据库操作

Django(24)-admin后台管理设置步骤以及常见样式详解

Django实战技巧(1)-开发测试生产环境配置切换处理技巧

Django实战技巧(2)-git代码仓分支管理技巧

Django实战技巧(3)-项目配置

1、应用

  • 应用在Django项目中是一个独立的业务模块,可以包含自己的路由,视图,模板,模型
  • 创建应用:
    • 在manage.py所在的目录下,执行命令:
    python3 manage.py startapp app_name
    
    • 在setting.py的INSTALLED_APPS列表中配置安装此应用,如下是django自带的应用,在这里将创建的应用在这里面加载进来
      在这里插入图片描述
      实例:执行 python manage.py startapp app1,此时目录如下:,同时在配置文件中注册
      在这里插入图片描述

2、分布式路由

  • Django中,主路由配置文件(urls.py)可以不处理用户具体路由,主路由配置文件的可以做请求的分发(分布式请求处理),具体可以有各自的应用来处理
  • 为使用分布式路由,每个应用中需要手动去创建一个urls.py文件
  • 配置分布式路由
    *步骤一: 主路由中调用include函数
    • 语法:include('app名字.url模块名’)
    • 作用:用于将当前路由转到各个应用的路由配置文件的urlpatterns进行分布式处理
    • 如下,在主路由中配置指向app1的分布式路由
      在这里插入图片描述
    • 步骤二:应用中的路由配置urls.py
    • 需要手动去创建
    • 内容结构与主路由配置文件几乎完全一样
    • 如下:
      在这里插入图片描述
      此时在app1应用下的视图文件编写视图函数:
from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.

def index(request):
    return HttpResponse("app1的首页")

在浏览器打开:http://127.0.0.1:8080/app1/index/,结果如下:可见,此时app1已经成功注册到mysite项目中,而且分布式路由也已经生效 了
在这里插入图片描述

3、应用下的模板

  • 应用内部可以设置模板目录,步骤如下:
    • 应用下需要手动创建templates文件夹
    • setting.py中开启应用模板功能,TEMPLATE配置项中的‘APP_DIRS‘的值设置为True即可
  • 应用下的templates和外层templates都存在是,django的查找原则如下:
    • 优先查找外层templates目录下的模板
    • 按INSTALLED_APPS配置下的应用顺序逐层查找

实例:
app1下的路由设计为:
在这里插入图片描述
app1下的视图函数如下:

from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.

def index(request):
    return render(request,"app1_index.html")

在app1下创建templates,然后创建app1_index.html文件,内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我是app1的首页</title>
</head>
<body>
<p>我是app1的首页</p>
</body>
</html>

在浏览器中打开 http://127.0.0.1:8080/app1/index/,结果如下:
在这里插入图片描述
这样可以实现在应用中继续创建templates文件夹,但是又一个问题就是要保证模板文件名必须独一无二才能不会出错,这就比较麻烦了,所以这块一般推荐的做法就是在应用下的templates目录下继续创建一个和应用名一样的文件夹,然后在视图函数中通过应用的目录加上模板文件名,这样就很容易独一无二了,如下图
在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

redrose2100

您的鼓励是我最大的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值