首页 > 其他 > 详细

【转】路由对应的名称以及路由分发

时间:2019-05-17 18:12:40      阅读:85      评论:0      收藏:0      [点我收藏+]

一、引子

  之前我们学习了,urls 路由映射,上回还说了用正则表达式匹配url,今天我们就来说说,给路由启用一个名字,那个这个名字的用途是什么呐?

二、路由对应名称

  2.1 普通名称

    技术分享图片

    技术分享图片

     技术分享图片

  2.2,出入位置参数 对应的路由名称

     技术分享图片

    技术分享图片

 

   技术分享图片

   2.3 传入关键字参数对应的路由名称

    技术分享图片

      技术分享图片

 

 

      技术分享图片

三、获取当前URL

  说明:我们用request.path_info ,用于 form  action, 这样当URL 改变之后就无需再去修改 前端的的代码

   技术分享图片

  

  技术分享图片

 

  结果

    技术分享图片

 

 四、反转生成URL

  4.1、正常反转生成URL

  说明:根据urls中的name反转生成一个url

    技术分享图片

 

  

五、总结

   1、re_path(‘^index/‘,views.index,name=‘i1‘),re_path(‘^index/(\d+)/(\d+)‘,views.index,name=‘i2‘),re_path(‘^index/(?P<nid>\d+)/(?P<uid>\d+)/‘,views.index,name=‘i3‘),

   2、def func(request,*args,**kwargs):

      from django.urls import reverse

      url1 = reverse(‘i1‘)

      url2 = reverse(‘i2‘,args=(1,2,))

      urls = reverse(‘i3‘,kwargs={‘pid‘:1,‘nid‘:9})

  3、xxx.html

     {% url  ‘i1‘ %} 

     {% url ‘i2‘ 1 2 %}

     {% url ‘i3‘ oid=1 nid=9  %}

  4、第2种和第3种方式,可以指定到某个页面中去,但是如果你只需要登录之后还是停留在原来的页面用request.path_info这个功能。

 

六、路由分发

1.在project \ urls  导入 include,

  2.设置转发到对应的APP,

    技术分享图片

  3.在app 下新建 urls,  设置url 路由

    技术分享图片

  4.访问的时候,url 变化

    原来:http://127.0.0.1:8000/home/   后来,http://127.0.0.1:8000/cmdb/home/

  技术分享图片

【转】路由对应的名称以及路由分发

原文:https://www.cnblogs.com/yoyo008/p/10882859.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!