路由系统: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反解

最新文章

  1. Java网络编程之流——流、过滤器、阅读器和书写器
  2. 在程序中使用gettid()的方法
  3. SmartGit STUDY
  4. openerp经典收藏 对象定义详解(转载)
  5. 远程测试mysql数据库3306端口报错
  6. OpenstackUbuntu
  7. CTF 字符统计2
  8. scala PartialFunction
  9. geotrellis使用(三十六)瓦片入库更新图层
  10. 进军ABP第一天:ABP理论知识
  11. javascript之reduce()方法的使用
  12. 关于Ubuntu使用笔记
  13. DeepCTR专题:DeepFM论文学习和实现及感悟
  14. Java 8 Lambda 表达式(二)
  15. 乐观锁机制解决多层嵌套异步ajax问题
  16. 《从零玩转python+人工智能-3》网易云课堂王顺子
  17. js return false\e.preventDefault() 以及session
  18. 洛谷luogu2782
  19. ORA-01555 snapshot too old
  20. JVM学习--内存分配策略(持续更新)

热门文章

  1. IOS的水滴文件效果
  2. LibreOJ #109. 并查集
  3. Linux Mini 安装 VMware Tools
  4. SQLite -创建数据库
  5. (转)编码剖析@Resource注解的实现原理
  6. Python基础1 介绍、基本语法 、 流程控制-DAY1
  7. 把txt格式数据制作成xml数据
  8. QT+创建两个不相干的窗口实现一个显示一个不显示
  9. kvm使用kickstart文件自动安装系统
  10. Linux磁盘管理及Lvm