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


    一、引子

      之前我们学习了,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/

      

  • 相关阅读:
    由@Convert注解引出的jackson对枚举的反序列化规则
    List.contains()与自动拆箱
    Utf-8+Bom编码导致的读取数据部分异常问题
    ResouceUtils.getFile()取不到Jar中资源文件源码小结
    Java自动装箱中的缓存原理
    Javaconfig形式配置Dubbo多注册中心
    logback多环境配置
    Spring @Scheduled @Async联合实现调度任务(2017.11.28更新)
    Nginx的Access日志记录的时机
    Mysql索引引起的死锁
  • 原文地址:https://www.cnblogs.com/yoyo008/p/10882859.html
Copyright © 2020-2023  润新知