URL路由系统-命名空间

Posted sun96

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了URL路由系统-命名空间相关的知识,希望对你有一定的参考价值。

命名空间

1.工程Django下的urs.py

from django.conf.urls import url,include
from django.urls import path,re_path

urlpatterns = [

    path(admin/, admin.site.urls),
    path(cmdb/, include("cmdb.urls",namespace=‘cmdb‘)),  
    path(app/, include("cmdb.urls",namespace=‘app‘)),


]

#两个ur 127.0.0.1/cmdb/   127.0.0.1/app/  同时指向一个cmdb下的url

2.工程中cmdb下的urls.py

from cmdb import views
appname=‘cmdb‘ #这个appname需要设置 urlpatterns
= [ path(login/, views.login,name="login"), ] #即两个url 127.0.0.1/cmdb/login 和 127.0.0.1/app/login同时指向 cmdb中views中的login函数

3.cmdb中views.py

from django.shortcuts import HttpResponse,render
from django.urls import reverse
def login(request):    v=reverse(‘cmdb‘:‘login‘) 根据namespace和name反生成url
   print(v)
return HttpResponse(ok)

 

 

 

app01.views.py

1
2
3
def detail(request, pk):
    print(request.resolver_match)
    return HttpResponse(pk)

以上是关于URL路由系统-命名空间的主要内容,如果未能解决你的问题,请参考以下文章

Django基础二之URL路由系统

django 路由系统

如何将命名空间 url 添加到 django-rest-framework 路由器视图集

Django - - 基础 - - Django的路由系统

tp模式 生命周期 命名空间 路由

“没有路线匹配”:带有路由轨道命名空间的噩梦