Django框架反向解析操作详解

  

本文实例讲述了Django框架反向解析操作。分享给大家供大家参考,具体如下:

  

  

随着功能的增加会出现更多的视图,可能之前配置的正则表达式不够准确,于是就要修改正则表达式,但是正则表达式一旦修改了,之前所有对应的超链接都要修改,真是一件麻烦的事情,而且可能还会漏掉一些超链接忘记修改,有办法让链接根据正则表达式动态生成吗?就是用反向解析的办法。

  

  
      <李>模板中的超链接李   <李>视图中的重定向李   
  

  
      <李>定义url时,需要为包括定义名称空间属性,为url定义名属性李   <李>使用时,在模板中使用url标签,在视图中使用反向函数,根据正则表达式动态生成地址,减轻后期维护成本。   
  

  

1)在项目urls . py中为包括定义名称空间属性。

        url (r“^”,包括(booktest.urls,名称空间=' booktest ')),      之前      

2)在应用的urls . py中为url定义名属性,并修改为fan2。

        url (r ' ^ fan2/$’, views.fan2, name=' fan2 '),      之前      

3)在模板中使用url标签做超链接,此处为模板/booktest fan1.html文件。

        & lt; html>   & lt; head>   & lt; title>反向解析& lt;/title>   & lt;/head>   & lt; body>   普通链接:& lt; a href=" https://www.yisu.com/fan2/" rel=巴獠縩ofollow”在普通fan2   & lt; hr>   反向解析:& lt; a href=" https://www.yisu.com/zixun/{% url 'booktest: fan2 ' %} " rel="外部nofollow”在反向解析fan2   & lt;/body>   & lt;/html>      之前      

4)回到浏览器中,后退,刷新,查看源文件,两个链接地址一样。

  

,  Django框架反向解析操作详解

  

5)在应用的urls . py中,将fan2修改为fan_show。

        url (r ' ^ fan_show/$’, views.fan2, name=' fan2 '),      之前      

6)回到浏览器中,刷新,查看源文件,两个链接地址不一样。

  

 Django框架反向解析操作详解

  

        django。快捷键输入重定向   从django.core。urlresolvers导入逆向   返回重定向(反向(booktest: fan2))      之前      

  

位置参数

  

1)在booktest/urls . py中,修改fan2如下:

        url (r ^风扇(\ d +) _ (\ d +)/$ ', views.fan2, name=' fan2 '),      之前      

2)修改模板/booktest fan1.html文件如下:

        & lt; html>   & lt; head>   & lt; title>反向解析& lt;/title>   & lt;/head>   & lt; body>   普通链接:& lt; a href=" https://www.yisu.com/fan2_3/" rel=巴獠縩ofollow”祝辞fan2   & lt; hr>   反向解析:& lt; a href=" https://www.yisu.com/zixun/{% url 'booktest: fan2 2 3%} " rel="外部nofollow”祝辞fan2   & lt;/body>   & lt;/html>      之前      

3)回到浏览器中,刷新,查看源文件如下图:

  

 Django框架反向解析操作详解

  

使用重定向传递位置参数格式如下:

        返回重定向(反向(booktest:风扇,args=(2、3)))      之前      

<>强关键字参数

  

1)在booktest/urls . py中,修改fan2如下:

        url (r ^风扇(& # 63;术中;id> \ d +) _(& # 63;术中;age> \ d +)/$’, views.fan2, name=' fan2 '),      之前      

2)修改模板/booktest fan1.html文件如下:

        & lt; html>   & lt; head>   & lt; title>反向解析& lt;/title>   & lt;/head>   & lt; body>   普通链接:& lt; a href=" https://www.yisu.com/fan100_18/" rel=巴獠縩ofollow”祝辞fan2   & lt; hr>   反向解析:& lt; a href=" https://www.yisu.com/zixun/{% url 'booktest: fan2 id=100岁=18%}" rel="外部nofollow”祝辞fan2   & lt;/body>   & lt;/html>      之前      

3)回到浏览器中,刷新,查看源文件如下图:

  

Django框架反向解析操作详解