django的路由系统urls_django

1、路由指向

 (1)直接指向(不管app,直接定义)

  path('business/', views.business),

  使用:127.0.0.1:8000/business/

 (2)app指向(多个app,进行分类定义分发)

  from django.conf.urls import url,inclue

  path("cmdb/",inclue("cmdb.urls"))

  然后在cmdb 的app目录下生成urls.py

  使用:127.0.0.1:8000/cmdb/host/

 

2、路由分类

(1)、一个url对应一个函数或类(静态路由)

path('apps/', views.apps),  (apps是一个函数)
path('apps/',view.Apps.as_view())  (Apps是一个类)

(2)一类url对应一个函数或类(动态路由)
 a、基于正则表达式匹配一批请求
  path(r'^detail-(\d+).html', views.detail),
  view获取:
  def detail(request,nid):
  print(nid)
  return render(request,"detail.html",{"nid":nid})
使用:127.0.0.1:8000/detail-2.html

  b、直接在映射关系中直接制定变量名:(比较严谨,推荐)
  re_path(r'^detail_(?P<nid>\d+)-(?P<uid>\d+).html', views.detail),
  view获取:
  def detail(request,nid,uid):
  print(nid)
  return render(request,"detail.html",{"nid":nid,"uid":uid})
多个参数:

  

 

3、name参数

主要用途:对url路由关系进行命名,以后可以根据此名称生成自己想要的url:

   

  

 

 4、默认值和命令空间

  

 

posted on 2020-06-07 10:49  陈小赞  阅读(139)  评论(0编辑  收藏  举报

导航