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. Timer类的schedule和scheduleAtFixedRate 简单应用

    Timer类可以用作定时任务,主要的方法有schedule和scheduleAtFixedRate. schedule(TimerTask task, Date time) 安排在指定的时间执行指定的 ...

  2. Spring单元测试

    1.基于AbstractDependencyInjectionSpringContextTests Spring的单元测试可以使用AbstractDependencyInjectionSpringCo ...

  3. Codeforces 250 E. The Child and Binary Tree [多项式开根 生成函数]

    CF Round250 E. The Child and Binary Tree 题意:n种权值集合C, 求点权值和为1...m的二叉树的个数, 形态不同的二叉树不同. 也就是说:不带标号,孩子有序 ...

  4. BZOJ 3566: [SHOI2014]概率充电器 [树形DP 概率]

    3566: [SHOI2014]概率充电器 题意:一棵树,每个点\(q[i]\)的概率直接充电,每条边\(p[i]\)的概率导电,电可以沿边传递使其他点间接充电.求进入充电状态的点期望个数 糖教题解传 ...

  5. 夏令营讲课内容整理 Day 6 Part 2.

    Day 6的第二部分,数论 数论是纯粹数学的分支之一,主要研究整数的性质   1.一些符号: a mod b 代表a除以b得到的余数 a|b a是b的约数 floor(x) 代表x的下取整,即小于等于 ...

  6. linux下利用shell脚本实现添加crontab任务

    本来直接用crontab -e 就可以打开vim,输入要执行的任务保存退出就可以添加任务直接启动运行了.但是今天组长说能不能写个shell不用打开vi就能添加到crontab的. 最先想到的是怎么在s ...

  7. PHPUnit-附录 B. 标注

    [http://www.phpunit.cn/manual/5.7/zh_cn/appendixes.annotations.html] 所谓标注,是指某些编程语言中允许加在源代码中的一种特殊格式的语 ...

  8. [HEOI2016]求和 sum

    [HEOI2016]求和 sum 标签: NTT cdq分治 多项式求逆 第二类斯特林数 Description 求\[\sum_{i=0}^n\sum_{j=0}^i S(i,j)×2^j×(j!) ...

  9. sphinx初识

    sphinx(SQL Phrase Index),查询词组索引. 定义:Sphinx是一个全文检索引擎. 特性: 1.高速索引 (在新款CPU上,近10 MB/秒); 2.高速搜索 (2-4G的文本量 ...

  10. iOS开发引入第三方类库的问题

    在开发iOS程序的过程中,通常在导入第三方的类库(.a/.o)文件会报出一系列的错误: Undefined symbols for architecture i386: "std::stri ...