django 2中的app_name和namespace

最近看《精通DJANGO》里遇到的疑惑。

简书URL如下:

https://www.jianshu.com/p/404500a0408a

其中的官方解释:

  • 应用命名空间
    它表示正在部署的应用的名称。一个应用的每个实例具有相同的应用命名空间。例如,可以预见Django 的管理站点的应用命名空间是'admin'。
  • 实例命名空间
    它表示应用的一个特定的实例。实例的命名空间在你的全部项目中应该是唯一的。但是,一个实例的命名空间可以和应用的命名空间相同。它用于表示一个应用的默认实例。例如,Django 管理站点实例具有一个默认的实例命名空间'admin'。
    URL 的命名空间使用':' 操作符指定。例如,管理站点应用的主页使用'admin:index'。它表示'admin' 的一个命名空间和'index' 的一个命名URL。


我个人的理解:
。app_name是唯一的,如果没有定义namespace,则app_name的名称与默认的namespace相同。
。一旦自定义了namespace,则在template,models,views里进行反向URL解析时,使用namespace.(没有自定义时,使用app_name都行)
。如果想复用view,而使用不同的url,则需要为url使用不同的namepsace(app_name唯一不变)。在templates中,使用不同的namespaces解析。
。app_name最好定义在app下的urls.py中,namespace最好定义在顶级的urls.py中。
。定义的语法要搞清楚,两二组,反序app_name和namespce顺序。
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值