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. BZOJ 2055: 80人环游世界 [上下界费用流]

    2055: 80人环游世界 题意:n个点带权图,选出m条路径,每个点经过val[i]次,求最小花费 建图比较简单 s拆点限制流量m 一个点拆成两个,限制流量val[i],需要用上下界 图中有边的连边, ...

  2. BZOJ 1042: [HAOI2008]硬币购物 [容斥原理]

    1042: [HAOI2008]硬币购物 题意:4种硬币.面值分别为c1,c2,c3,c4.1000次询问每种硬币di个,凑出\(s\le 10^5\)的方案数 完全背包方案数? 询问太多了 看了题解 ...

  3. BZOJ 3895: 取石子[SG函数 搜索]

    有N堆石子 ·从某堆石子中取走一个 ·合并任意两堆石子 不能操作的人输. 100%的数据满足T<=100,  N<=50. ai<=1000   容易发现基础操作数$d=\sum a ...

  4. open-falcon-agent插件使用

    说明 Plugin可以看做是对agent功能的扩充.使用插件可以对采集脚本进行统一管理,方便定制修改,也可以免去在crontab中添加计划任务. 开启plugin功能 # 修改agent配置文件 &q ...

  5. php与web页面交互

    一.web表单 web表单的功能是让浏览者和网站有一个互动的平台.web表单主要用来在网页中发送数据到服务器. 1.1 表单的创建 使用form标记,并在其中插入相关的表单元素,即可创建一个表单. & ...

  6. php+redis 学习 五 消息推送

    <?php header('content-type:text/html;chaeset=utf-8'); /** * redis实战 * * 发布 * * @example php publi ...

  7. php+redis 学习 二 悲观锁

    <?php header('content-type:text/html;chaeset=utf-8'); /** * redis实战 * * 实现悲观锁机制 * */ $timeout = 5 ...

  8. socketlog的安装和使用

    socketlog的使用范围  socketlog比较适用于ajax调试和api的调试,经典应用莫不过于微信众多的api使用调试,使用socketlog可以很条理清楚的查看到api传递的参数,加载的性 ...

  9. windows 下编译 OpenSSL1.0.2l 版

    1.需要的软件工具: microsoft visual studio2013(或2010以后其他版本) Perl 软件, 版本为strawberry - perl - 5.26.0.1 - 64bit ...

  10. [Python Study Notes]计算cpu使用率

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...