zoukankan      html  css  js  c++  java
  • 路由层

    路由匹配

      1.url第一个参数是正则表达式,只要第一个参数能够匹配到内容,那么就会停止匹配,直接执行对应的视图函数
      2.Django内部会做一个加/的重定向,如果匹配不到的话
      3.APPEND_SALSH = False,可以取消自动加/的重定向
      4.首页,url(r'^$',views.home)
      5.尾页,url(r'')
    

    无名分组

      分组就是给某一段正则用小括号括起来,无名分组就是将括号内正则表达式匹配到的内容当做位置参数传递给后面的视图函数
            url(r'test/(d+)',views.test)
    

    有名分组

      有名分组就是将括号内正则表达式匹配到的内容当作关键字参数传递给后面的视图函数
            url(r'test/(?P<year>d+)',views.test)
    

    反向解析

      通过一些方法,得到一个结果,该结果可以直接访问对应的url,触发视图函数
      第一步,给路由与视图函数对应关系起别名
      url(r'^func_k' ,views.func, name='xxx')
      第二步,后端反向解析
      reverse模块,reverse('xxx')
      第三步,前段反向解析
      {% url 'xxx' %}
    

    无名分组反向解析

      url(r'home/(d+)',views.home)
      后端:reverse('xxx',args=(1,))
      前端:{% url 'xxx' 123 %}
    

    有名分组反向解析

      url(r'test/?P(<year>d+)',views.test)
      后端:reverse('xxx',kwargs={'year':123})
      前端:{% url 'xxx' 123 %},{% url 'xxx' year = 123 %}
    

    路由分发

      利用路由分发之后,总路由不在干路由与视图函数的直接对应关系,而是做一个分发处理,识别当前url是属于哪个应用下的,直接分发给对应的应用去处理
      注意:总路由里面的url千万不要加$
      url(r'app01/',include(app01.urls))
  • 相关阅读:
    recess----2.Controller里面取用request信息
    recess----1.第一个APP-helloRecess
    Introducing MVC
    IFA Basics
    Why do Antennas Radiate?
    [JSP]JSP 简介
    [Spring]04_最小化Spring XML配置
    [设计模式]创建型模式
    [设计模式]原型模式
    [设计模式]建造者模式
  • 原文地址:https://www.cnblogs.com/qijiaxun/p/14257309.html
Copyright © 2011-2022 走看看