1、url(r'^index/', views.index),        函数处理
      url(r'^home/', views.Home.as_view()),           类方法处理
 
    2、url(r'^detail-(\d+).html', views.detail),         动态路由,位置参数
            <a href="/detail-{{key}}"></a>
            def detail(request,nid):
                    
 
    3、url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail)        动态路由,命名参数(将URL第一个匹配的给nid),而后台函数处理时,第一个数一定是nid
    PS: def detail(request, *args,**kwargs):
             pass    
    实战:
    a.
        url(r'^detail-(\d+)-(\d+).html', views.detail),
        def func(request, nid, uid):
        #不用id直接获取值是应为python有内置的函数id()
        #,如果使用ID接收参数,那么原生的id函数将被重写
            pass
        def func(request, *args):
            args = (2,9)
        def func(request, *args, **kwargs):
            args = (2,9)
    b.
        url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail)
        def func(request, nid, uid):
            pass
        def funct(request, **kwargs):    
            kwargs = {'nid': 1, 'uid': 3}
        def func(request, *args, **kwargs):
            args = (2,9)
 
    4、 name
    对URL路由关系进行命名, ***** 以后可以根据此名称生成自己想要的URL *****    
    ①url(r'^asdfasdfasdf/', views.index, name='i1'),->
    <form action="{%url :'i1'%}"> /index/                    如果想要和当前URL一样 需要使用path_info变量  {{request.path_info}}
    <form action="{%url :'i1'2 %}"> /index/2/
    <form action="{%url :'i1'nid=2 uid=3 %}"> /index/2/3/
 
    ②url(r'^yug/(\d+)/(\d+)/', views.index, name='i2'),
 
    ③url(r'^buy/(?P<pid>\d+)/(?P<nid>\d+)/', views.index, name='i3'),
    2,3是动态的URL,不能用1的方法指定。只能用
    <form action="{{ request.path_info }}">
        反向生成URL
 
    ④url(r'^yug/(\d+)/(\d+)/', views.index, name='i2')
        from django.urls import reverse                                    根据名字反转生成URL,函数处理使用
        v = reverse("i2",args)=(90,80)
        v就等于 [ *,*,*,*:*/yug/90/80/ ]
        def func(request, *args, **kwargs):
            from django.urls import reverse
            url1 = reverse('i1') # asdfasdfasdf/
            url2 = reverse('i2', args=(1,2,)) # yug/1/2/
            url3 = reverse('i3', kwargs={'pid': 1, "nid": 9}) # buy/1/9/
        xxx.html
        {% url "i1" %} # asdfasdfasdf/
        {% url "i2" 1 2 %} # yug/1/2/
        {% url "i3" pid=1 nid=9 %} # buy/1/9/
    注:
        # 当前的URL
        request.path_info
 
 
    ☆5、多级路由            一个APP需要路由到另一个APP时
    project/urls.py
    from django.conf.urls import url,include
    from django.contrib import admin
 
    urlpatterns = [
    url(r'^cmdb/', include("app01.urls")),    
    #   /cmdb/**的URL转发给  app01.urls  
    url(r'^monitor/', include("app02.urls")),
    ]
    app01/urls.py
    from django.conf.urls import url,include
    from django.contrib import admin
    from app01 import views
 
    urlpatterns = [
    url(r'^login/', views.login),    
    ]
 
    app02/urls.py
    from django.conf.urls import url,include
    from django.contrib import admin
    from app02 import views
 
    urlpatterns = [
    url(r'^login/', views.login),    
    ]

Django学习-6-路由系统的更多相关文章

  1. Django学习之路由系统

    一.Django的路由系统 1.URLconf配置 基本格式: 参数说明: 2.正则表达式详解 基本配置 注意事项 补充说明 3.分组命名匹配 URLconf匹配的位置 捕获的参数永远都是字符串 视图 ...

  2. Django学习:url路由系统

    一.MTV模型 1.Django的MTV分别代表: Model(模型):和数据库相关的,负责业务对象与数据库的对象(ORM) Template(模板):放所有的html文件 模板语法:目的是将白变量( ...

  3. python 学习笔记十六 django深入学习一 路由系统,模板,admin,数据库操作

    django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ ...

  4. Django进阶(路由系统、中间件、缓存、Cookie和Session、Ajax发送数据

    路由系统 1.每个路由规则对应一个view中的函数 url(r'^index/(\d*)', views.index), url(r'^manage/(?P<name>\w*)/(?P&l ...

  5. django 中的路由系统(url)

    路由系统 根据Django约定,一个WSGI应用里最核心的部件有两个:路由表和视图.Django框架 的核心功能就是路由:根据HTTP请求中的URL,查找路由表,将HTTP请求分发到 不同的视图去处理 ...

  6. Django学习之路由分发和反向解析

    原 Django学习之路由分发和反向解析 2018年07月12日 14:04:55 huangql517 阅读数 519 1>路由分发 我们之前学习的路由配置都是在项目的全局控制文件(项目名称目 ...

  7. Django入门2:路由系统

    1.单一路由对应 url(r'^index/', views.index), # FBV url(r'^home/', views.Home.as_view()), # CBV 2.基于正则的路由 u ...

  8. Django框架简介-路由系统

    2.2 路由系统 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表. 你就是 ...

  9. Django的URL路由系统

    一. URL配置 URL配置就像Django所支撑网站的目录.它的本质是URL与要为该URL调用的视图之间的映射表.你就是以这种方式告诉Django,对于哪个URL调用的这段代码. 基本格式 from ...

  10. Django之URL路由系统

    一 URL配置 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表.你就是以这 ...

随机推荐

  1. 700名黑客无法攻破Trillium安全防护软件 欲以网络安全险获利

    盖世汽车讯 据外媒报道,在2017 DEF CON黑客大会上,黑客们受邀入侵Car Hacking Village会场内的各类自动驾驶车辆.物联网网络安全公司--Trillium Incorporat ...

  2. 策略模式(Strategy Method)

    策略模式可以看做“可插入式算法(Pluggable)”,将子类各自的行为和公共的逻辑分离开来,将子类的行为抽象为算法插入到公共的逻辑中,这样替换子类的行为也不会对公共逻辑产生影响,也不会影响到调用类的 ...

  3. SPOJ 7258 Lexicographical Substring Search [后缀自动机 DP]

    题意:给一个长度不超过90000的串S,每次询问它的所有不同子串中,字典序第K小的,询问不超过500个. 第一道自己做的1A的SAM啦啦啦 很简单,建SAM后跑kth就行了 也需要按val基数排序倒着 ...

  4. AWS-SS配置过程

    为满足家长要求,以下只录步骤: 远端: 1. 注册并启动一个AWS实例.这一步网上N多教程,搜 AWS EC2 等均可. 2. 远程安装SS,并写配置文件.依然网搜, AWS S(hadow)S(oc ...

  5. java中的foreach用法及总结

    增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集合. part1定义了一个局部变量,这个局部变量的类型与part2中的对象元素的类型是一致的. pa ...

  6. centos7时间同步

    用ntpdate从时间服务器更新时间 1.如果你的linux系统根本没有ntpdate这个命令 yum install -y ntp 2.安装完了之后,你不要做什么配置,也不需要,直接测试一下 [ro ...

  7. 洛谷 P4016负载平衡问题【费用流】题解+AC代码

    洛谷 P4016负载平衡问题 P4014 分配问题[费用流]题解+AC代码 负载平衡问题 题目描述 GG 公司有n个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等.如何用最少搬运量可以使 n ...

  8. AVFoundation 框架初探究(四)

    叨叨两句 动手写这篇总结时候也是二月底过完年回来上班了,又开始新的一年了,今年会是什么样子?这问题可能得年底再回答自己了.在家窝了那么久,上班还是的接着看我们要看的东西,毕竟我们要做的事还真的太多的. ...

  9. Netbeans文件被误删怎么办?

    辛辛苦苦写的代码突然不见了,上午还是有的,哪去了?怎么办? 破解办法: 1,良好的版本管理工具(git||svn)使用习惯,代码每天上传更新,技术文件有丢失,也就一天的. 2,Netbeans提供的备 ...

  10. Egret学习笔记 (Egret打飞机-2.开始游戏)

    打开 Egret Wing,新建一个Egret游戏项目,然后删掉默认生成的createGameScene方法里面的东西 然后新建一个BeginScene.ts的文件,作为我们的游戏的第一个场景 cla ...