码迷,mamicode.com
首页 > Web开发 > 详细

django:url的命名空间

时间:2019-11-16 11:04:03      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:log   djang   同名   django   nbsp   调用   view   path   解决   

在同一个django工程中,不同的app是有可能给url起相同名字的。

如果不做任何处理,那么所有的叫同一个名字的url都会在被调用时使用其中某一个url

举个栗子:

app01的urls中有:

urlpatterns=[path(‘‘,views.index,name=home),
                   path(/login,views.login,name=login),]                

app02的urls中有:

urlpatterns=[path(‘‘,views.index,name=home),
                   path(/login,views.login,name=login),]

工程下的urls中有:

urlpatterns=[path(app01/,include(app01.urls)),
                   path(app02/,include(app02.urls))]

 

然后问题就来了:

  app01和app02的views中都用reserve调用name=login的url时,调到的都是app02下面的那个

怎么办呢?

将url的命名空间进行限制。

app01-urls:

app_name=app01
urlpatterns=[path(‘‘,views.index,name=home),
                   path(/login,views.login,name=login),]

app02-urls:

app_name=app02
urlpatterns=[path(‘‘,views.index,name=home),
                   path(/login,views.login,name=login),]

调用的时候:

reserve("app_name : url名")

这样问题就解决了。

django:url的命名空间

标签:log   djang   同名   django   nbsp   调用   view   path   解决   

原文地址:https://www.cnblogs.com/Zarax/p/11870654.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!