码迷,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
迷上了代码!