• 路由层


    路由匹配

      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))
  • 相关阅读:
    sql server与c#中数据类型的对应关系
    XML操作类
    手機錄音amr格式轉換工具
    ajax get,post提交數據
    javascript對文本encode編碼
    桌面图标透明设置→详解
    货币大写转换类
    利用DataAdapter於數擾庫同步
    JavaScript的RegExp对象
    添加計劃任務,自動備份腳本
  • 原文地址:https://www.cnblogs.com/qijiaxun/p/14257309.html
Copyright © 2020-2023  润新知