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. MySQL笔记-union

    union语法 select ... union [all | distinct] selct ... union用于把来自多个select语句的结果组合在一个结果集中. 两次查询的列表必须相同,否则 ...

  2. BZOJ 4176: Lucas的数论 [杜教筛]

    4176: Lucas的数论 题意:求\(\sum_{i=1}^n \sum_{j=1}^n \sigma_0(ij)\) \(n \le 10^9\) 代入\(\sigma_0(nm)=\sum_{ ...

  3. BZOJ 3787: Gty的文艺妹子序列 [分块 树状数组!]

    传送门 题意:单点修改,询问区间内逆序对数,强制在线 看到加了!就说明花了不少时间.... 如果和上题一样预处理信息,用$f[i][j]$表示块i到j的逆序对数 强行修改的话,每个修改最多会修改$(\ ...

  4. PHP 5.6 微信上传临时素材的坑

    /** * 上传素材 */ function add_material($url){ $access_token = wx_access_token(); $wx_url = "https: ...

  5. js压缩上传图片

    初学有不当之处,请多多指点, <body> <div class="cc"> <input type="file" id=&quo ...

  6. 给Linux系统/网络管理员的nmap的29个实用例子

    Nmap亦称为Network Mapper(网络映射)是一个开源并且通用的用于Linux系统/网络管理员的工具.nmap用于探查网络.执行安全扫描.网络核查并且在远程机器上找出开放端口.它可以扫描在线 ...

  7. 洛谷P1783 海滩防御 分析+题解代码

    洛谷P1783 海滩防御 分析+题解代码 题目描述: WLP同学最近迷上了一款网络联机对战游戏(终于知道为毛JOHNKRAM每天刷洛谷效率那么低了),但是他却为了这个游戏很苦恼,因为他在海边的造船厂和 ...

  8. 可拖动布局之Gridster

    看过bootstrap可视化布局系统的人是不是都会对页面元素的拖拽有着很大的兴趣?下面呢,楼主就给大家讲两个楼主知道的拖拽小插件吧. 一.gridster 1.了解gridster 后续官网:http ...

  9. docker mysql 主从复制

    当然首先 docker pull mysql mkdir /usr/local/mysqlData/master/cnf mkdir /usr/local/mysqlData/master/data ...

  10. 关于使用srping @RequestParam 容易出错的地方

    大家都知道,在spring中的@RequestParam主要用户传递参数用的,具体的解释就是将请求参数去数据映射到功能处理方法的参数上.其中包括三个参数: value:参数名字,即入参的请求参数名字, ...