URL命名空间与变量作用范围类似,它是命名URL模式的使用范围。设
置了URL命名空间后,需按照“URL命名空间名称:URL模式名称”的格式来引用URL模式,例如“nameIndex:Default”。
在反向解析URL时,Django在指定的URL命名空间中搜索URL模式名称。
在不同的命名空间中,可使用相同的URL模式名称。
正确使用URL命名空间,可对项目中的应用进行多次部署,即可通过不同的URL访问同一个应用,示例代码如下。
path('usename1/',include(('useNameSpace.urls',"ns1"),namespace="nameIndex")),
path('usename2/',include(('useNameSpace.urls',"ns2"),namespace="nameIndex2")),
Django将URL命名空间分为应用命名空间和实例命名空间。
应用命名空间指正在部署的应用的URL命名空间名称。
一个应用的多个实例可共享同一个应用命名空间,也可配置多个应用命名空间。例如,前面例子中“ns1”和“ns2”是应用命名空间名称。
实例命名空间是应用特定实例的URL命名空间。
实例命名空间名称在整个项目中必须唯一。
实例命名空间名称可以与应用命名空间名称相同—Django将其视为应用的默认实例。
例如,默认的Django管理站点实例的实例命名空间名称为“admin”。