标签: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名")
这样问题就解决了。
标签:log djang 同名 django nbsp 调用 view path 解决
原文地址:https://www.cnblogs.com/Zarax/p/11870654.html