今天就跟大家聊聊有关使用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 >存档 {#或年模板上下文变量:#}
-
{%在year_list yearvar %}
<李> {{yearvar}} > 李>存档
{% endfor %}
解释一下:首先,根据视图& # 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