Django-namespace与name

为了方便管理路由而设定的机制

  1. namespace (命名空间 Project 下的 urls.py)

    设计思路:将 Project 项目的 urls.py 视为计算机Z盘,Z盘下有若干个文件夹 A B C D,每个应用(App)的 urls.py 所定义的若干条路由可视为这4个文件夹里的文件

    帮助快速定位到某应用的 urls.py
    在这里插入图片描述
    include函数设有 arg 和 namespace
    参数 arg 指向项目应用APP 的 urls.py ,若要设置 namespace ,arg 需以元组形式表示,且长度为 2

path('Index/', include(('Index.urls', 'Index'), namespace='Index')),
# Index.urls 表示App 的 urls.py
# Index 自行定义命名,但不能为空,一般以应用名表示
# namespace 命名空间
  1. name (路由命名 App 下的 urls.py)
    上面namespace中所说的Z盘下的文件夹 A B C D,urls.py所定义的若干条路由可视为该文件夹下的文件
    解决问题:若在试图或模板等其他模块里使用路由地址,当地址发生更新时,这些模块里所使用的路由地址也随之改变,不利于变更和维护

 ① Index urls.py
在这里插入图片描述

 ② Index views.py
在这里插入图片描述
若项目应用的路由设有 namespace,则模板语法(HTML)使用路由时,需要在 name 前加上 namespace ,如 ‘namespace:name’,否则则报NoReverseMatch错误
 ③ Index templates index.html
在这里插入图片描述
 ④ User urls.py

在这里插入图片描述
 ⑤ User views.py

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值