使用Django框架怎么逆向解析url

  介绍

今天就跟大家聊聊有关使用Django框架怎么逆向解析url,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Django中提供了一个关于url的映射的解决方案,你可以做两个方向的使用:

①。有客户端的浏览器发起一个url请求,Django根据url解析,把url中的参数捕获,调用相应的试图,获取相应的数据,然后返回给客户端显示

②。通过一个视图的名字,再加上一些参数和值,逆向获取相应的URL

第一个就是平常的请求有URLconf来解析的过程,

第二个叫做,URL的逆向解析,URL逆向匹配,URL的逆向查阅,等

Django提供了不同的层级的URL逆向处理工具:

①。在模板模板中,使用url标记,如:<代码> {% url %}

②。在Python代码中,使用<代码> django.core.urlresolvers.reverse() 方法

③。在更高一层级的处理url中,用<代码> get_absolute_url() 方法

<强>示例

看如下的URLconf:

得到django.conf.urls  import 模式,url   时间=urlpatterns 模式(& # 39;& # 39;   #才能……   ,,url(" # 39; ^文章/(\ d {4})/$ & # 39;,, & # 39; news.views.year_archive& # 39;),   #才能……   )

根据设计,这个url的目的是将是nnnn年的文章存档(存档),即/文章/nnnn/

1。在模板中,可以这样来使用:

& lt; https://www.yisu.com/zixun/a  href=" {% news.views url。year_archive 2012%}”rel="外部nofollow”> 2012 存档   {#或年模板上下文变量:#}   

解释一下:首先,根据视图& # 39;news.views.year_artichive& # 39;可以定位到指定的URLconf中,然后后面的2012来填充文章/\ d {4}

最终的结果为:

& lt; a href=https://www.yisu.com/zixun/拔恼?2012/眗el="外部nofollow”> 2012年存档

这里就是根据试图和所提供的值来逆向查询url

下面的类似,

2。在python代码中

得到django.core.urlresolvers  import 相反   得到django.http  import  HttpResponseRedirect   def  redirect_to_year(请求):   #,才能……   year 才能=2006   #,才能……   return 才能;HttpResponseRedirect(反向(& # 39;news.views.year_archive& # 39;,, arg游戏=(,)))

解释一下:首先,必须引入<代码> django.core.urlresolvers.reverse() 方法,然后原理就是,根据提供的试图和参数

的值来逆向查找URLconf,匹配相应的url然后把值拿回来,最后,<代码>反向()返回的值为:文章/2006/,这样就逆向的查出了需要的url

看完上述内容,你们对使用Django框架怎么逆向解析url有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

使用Django框架怎么逆向解析url