路由系统:URL
1:一个URL对应一个类或函数:
  url(r'^register',reg.register) 函数写法
  url(r'^cbv',reg.cbv.as_view()) 类写法
2:通过正则实现多个url对应一个类或函数:
  url(r'^detail-(\d+).html',reg.detail) 正则匹配detail-任意数字
  url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html',reg.detail) 正则匹配指定关键字(nid,uid)
  另:以上2种情况在函数内可以写成:
  def detail(request,*args,**kwargs):
    pass
  这里:第1个的url的\d会传入*args,第2个的url会传入**kwargs
举例:
  a.
    url(r'^detail-(\d+)-(\d+).html',reg.detail),
    def func(request,nid,uid): pass
    def func(request,*args): pass
  b.
    url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html',reg.detail),
    def func(request,nid,uid): pass
    def func(request,**kwargs): pass
4:name
  对URL路由关系进行命名,以后可以根据此名称生成自己想要的URL
  如URL:url(r'^abaaasdfasdfa/',views.home,name='home1'),
  如URL:url(r'^abc/(\d+)/(\d+)/',views.home,name='home2'),
  如URL:url(r'^def/?P<nid>(\d+)/?P<uid>(\d+)/',views.home,name='home3'),
  def func(request,*args,**kwargs):
  from django.urls import reverse
    url1 = reverse('home1') # url相当于abaaasdfasdfa/
    url2 = reverse('home2',args=(1,2,)) # url相当于abc/1/2/
    url3 = reverse('home3',kwargs={'nid':1,'uid':2}) # url相当于def/1/2/
  xxx.html
    {% url "home1" %} # abaaasdfasdfa/
    {% url "home2" 1 2 %} # abc/1/2/
    {% url "home3" nid=1 uid=2 %} # def/1/2/
  模板语言:
    {% url "home" %}
    {% url "home" 3 %}
注:
# 获取当前的url
  request.path_info
5.url 路由分发,project下的url为1级(最高级),app里的为二级
如:
  一级:
  url(r'^cmdb/',include('cmdb.urls')),
  url(r'^app/',include('app01.urls')),
6.默认值
参考:http://www.cnblogs.com/wupeiqi/articles/5237704.html
  url(r'^index/$',views.index,{'name':'root'}),

  def index(request,name):
    print(name)
    return HttpResponse('OK')
7:命名空间:
一级:
  /admin/ include('app01.urls',namespace='m1')
  /crm/ include('app01.urls',namespace='m2')

二级:
  app_name='app01'
  url(r'^index/',views.index,name='n1')
  view: v = reverse('m1:n1')
  html: {% url 'm1:n1'%} # 进行url反解

Django学习之 - 基础路由系统的更多相关文章

  1. Django学习系列之路由系统

    一.基于App的路由 作用: 根据App对路由规则进行分类,在全局urls.py包含某个项目的urls.py 示例 定义全局urls.py(全局路由系统) #导入include from django ...

  2. Django基础学习三_路由系统

    今天主要来学习一下Django的路由系统,视频中只学了一些皮毛,但是也做下总结,主要分为静态路由.动态路由.二级路由 一.先来看下静态路由 1.需要在project中的urls文件中做配置,然后将匹配 ...

  3. python第一百零五天 ---Django 基础 路由系统 URL 模板语言 ORM 操作

    一 路由系统 URL 1 url(r'^index/',views.index) url(r'^home/', views.Home.as_view()) 2 url(r'^detail-(\d+). ...

  4. Django 基础 路由系统

    Django框架简介 MVC框架和MTV框架(了解即可) MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图 ...

  5. django框架基础-路由系统-长期维护

    ##################   路由系统介绍    ####################### 路由系统就是路径和函数的对应关系, 路由系统可以看成支撑你这个网站的目录,就像是一本书一样 ...

  6. django目录下的路由系统和视图函数

    一.Django路由系统(url) 1.什么是路由系统 路由系统的本质是URL模式以及要为该URL模式调用的视图函数之间的一个映射表即不同的url路径对应的不同的函数,该路由系统是存放在全局配置文件u ...

  7. Django(二)路由系统、视图、模板

    大纲 一.内容概要: 二.上节回顾 三.Django 视图–views  1.获取用户多个数据及文件上传  2.FBV 和 CBV  3.装饰器 四.Django模板补充  - Django模板语言循 ...

  8. Django 学习第十二天——Auth 系统

    一.Auth系统中的表: 从表的名称我们就能看出, auth_user,auth_group,auth_permission分别 存放了用户,用户组,权限的信息表. 另外三张表就是多对多的关系表 Us ...

  9. Django学习之 - 基础部分

    学习记录参考: 讲师博客:http://www.cnblogs.com/wupeiqi/articles/5433893.html 老男孩博客:http://oldboy.blog.51cto.com ...

随机推荐

  1. 消息中间件与RPC的区别

    消息中间件和消息通信与RPC各自具有怎样的优势,如何互补消息中间件主要实现的是异步.弹性消息以及队列,弹性消息有时可以借助于外存从而一定程度上可以实现峰值缓存,有效均衡服务器端压力,同时消息可以进行一 ...

  2. loadrunner11报错:Error -27780

    LR回放https协议脚本失败:[GENERAL_MSG_CAT_SSL_ERROR]connect to host "XXX" failed:[10054] Connection ...

  3. 微信小程序开发系列教程三:微信小程序的调试方法

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 这个教程的前两篇文章,介绍了如何用下图所示的微信开发者工具自动生成一个Hel ...

  4. 看Spring Data如何简化数据操作

    Spring Data 概述 Spring Data 用于简化数据库访问,支持NoSQL 和 关系数据存储,其主要目标是使数据库的访问变得方便快捷. SpringData 项目所支持 NoSQL 存储 ...

  5. Linux一些常用小命令

    使用xshell连接虚拟机 rz 上传的linux服务器 sz 从服务器上下载 df 查看磁盘大小 -h du 查看所有磁盘(硬盘)大小(-h 可读  -s统计当前目录的大小)du -sh free ...

  6. df - 报告文件系统磁盘空间的使用情况

    总览 df [OPTION]... [FILE]... POSIX 选项: [-kP] GNU 选项 (最短方式): [-ahHiklmPv] [-t fstype] [-x fstype] [--b ...

  7. mybatis-使用junit测试与main方法测试结果不一致问题

    今天使用ieda写mybatis程序感觉太不友好了,而且也没找到问题所在.问题:写的user.xml中的语句与输出的语句不一样.尝试了各种办法都没有解决. mybatis配置的使用的查询实体.xml ...

  8. node.js从入门到放弃(二)

    上章讲了学习node,应该去学习什么,对这些框架去进行学习现在咋们聊聊如何用原生来进行操作 主要来讲一下events-事件触发器 events是什么东西呢?他的英文翻译,活动,事件的意思,在计算机语言 ...

  9. luogu 数列找不同-莫队

    https://www.luogu.org/problemnew/show/P3901 了解过莫队的人应该都清楚,莫队是一个优化的暴力,可以在相对暴力比较优的时间中,求出一段序列内的某些性质(例:数字 ...

  10. ubuntu中执行docker info出现警告信息WARNING: No memory limit support 或 WARNING: No swap limit support

    docker info 指令报若下错误:WARNING: No memory limit support 或WARNING: No swap limit support 解决方法: 1.打开/etc/ ...