脚本宝典收集整理的这篇文章主要介绍了名称空间,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
命名空间(英语:Namespace)是表示标识符的可见范围。一个标识符可在多个命名空间中定义,它在不同命名空间中的含义是互不相干的。这样,在一个新的命名空间中可定义任何标识符,它们不会与任何已有的标识符发生冲突,因为已有的定义都处于其它命名空间中。
由于name没有作用域,Django在反解URL时,会在项目全局顺序搜索,当查找到第一个name指定URL时,立即返回
我们在开发项目时,会经常使用name属性反解出URL,当不小心在不同的app的urls中定义相同的name时,可能会导致URL反解错误,为了避免这种事情发生,引入了命名空间。
urlpatterns = [ re_path(r'^admin/', admin.site.urls), re_path(r'^app01/', include("app01.urls",namespace="app01")), re_path(r'^app02/', include("app02.urls",namespace="app02")), ]
urlpatterns = [ re_path(r'^index/', index,name="index"), ]
urlpatterns = [ re_path(r'^index/', index,name="index"), ]
from django.core.urlresolvers import reverse def index(request): return HttpResponse(reverse("app01:index"))
from django.core.urlresolvers import reverse def index(request): return HttpResponse(reverse("app02:index"))
以上是脚本宝典为你收集整理的名称空间全部内容,希望文章能够帮你解决名称空间所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。