注意: url(r'^index/', views.index)    第一个index是提交跳转的网址 (可修改)   第二个是自定义的方法

       url(r'^index666/', views.index)

 

如果想让链接地址为x.html而不是“?” ,

利用正则方式,匹配一类的值(一对多,动态路由方式)。

url路由

 

 

1.url直接匹配传值过来用detail方法获取,此时不用再利用get方式获取值

(1)基础变化

url路由

url路由

 自己输入3 

url路由

(2)对以上进行修改  一类url对应一个函数

 url路由

url路由

 点击

 url路由

 

 url路由

 

综上:

url路由

分别为  一个url对应一个函数   /  一个url对应一个类

             一类url对应一个函数/   一类url对应一个类

 

 

 2.对于拼接的x.html 共有两种方式

(1)固定nid uid

url路由

(2)不固定

 url路由

      url路由

 

(3)对于键入“-2-9.html”   

url路由

 

 url路由

 无论是否交换形参,1方法对键入的数值无影响   2 9   2 9   nid=2,uid=9

 若交换形参,2方法因为形参改变而改变 2 9   9 2   按照形参位置赋值

 

url路由

url路由

输入2 9

 url路由

 

 综上:

url路由  

 万能参数

url路由

          url路由

                           kwargs={'nid':1,‘uid’:3}

 

3. 不用再在html中修改

(1)正常情况下

如果修改一个当前访问的url   修改两部分 不简洁

1

url路由

2

url路由

3

url路由

(2)如果不用再在html中修改

1

url路由

2.表单中修改为 {%url ‘indexx ’ %}  以后不必再修改

url路由

3

 url路由

 

(3)如果url中有数字/d

 上述无效  必须主动在html中写任意数字  (不要忘记此时index需要接收,增加nid)

此任意数字是写死的   无论输入什么  都跳转到该字母

1

 url路由

2 index需要接收,增加nid

url路由

3.

url路由

 4

 url路由

(4)要想实现显示的表单和url

 url路由

修改{%url ‘indexx ’ %}  为{request.path_info}

url路由

url路由

 

综上:

url路由

 

 

4.实现跳转到其他页,自动生成要跳转的url

引入reverse包 根据名字生成url  v为生成的url 

(1)如果没有动态参数/d   直接是字母  直接就生成name

url路由

url路由

 

(2)如果后面有/d  则在reverse后面还需要传值args

url路由

在url中输入13  返回90

url路由

 

如果后面有/d/d 

url路由

在url中输入13   11 返回90 88

url路由

 (3)固定位置

 url路由

url路由

 

 url路由

url路由

 

 

 

综上:

 url路由

 

 

 5.路由分发

不同的APP使用url,必须要严格控制每个url不能重复,一旦重复 哪个App就会抢走匹配 其他就会无法匹配

1.新建两个App

url路由

 ==============

实现路由分发 这样即使方法对应url相同  也无妨

2.分别在新建的app01 02 中增加urls.py

 url路由

url路由

3. 再进行两个views.py的编写

App01 原来的views

App02 返回字符串

url路由

 

 3.再在总urls中引入 包,加入分发的urls

 url路由

 

运行

01

 url路由

02

 url路由

 

 

6.默认值

不加默认值:

url路由

 

 url路由

 

 运行,点击链接 ,输入index

url路由  

添加默认值:

必须加上形参

url路由

 

 综上:

url路由

 

 7.命名空间:

url路由

欠  21.02

 

相关文章:

  • 2022-02-05
  • 2022-01-17
  • 2021-10-03
  • 2022-01-20
  • 2022-12-23
  • 2022-12-23
  • 2021-12-20
  • 2022-12-23
猜你喜欢
  • 2021-12-13
  • 2021-11-11
  • 2021-07-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-19
相关资源
相似解决方案