django路由的反向解析

什么是路由的反向解析

我们的路由都是一个匹配关系,对应一个处理的视图函数,

如果我们的匹配关系发生了变化,那么与之对应的访问地址(可能前端直接url链接,

也可能是后端的redrict跳转)都需要跟着发生改变

这是费时费力,因此我们想到了一种动态解析url的方法,通过给相应

的匹配关系起别名,而让与之对应的链接或者跳转,会根据别名动态解析前面的匹配关系

这个动态解析url路径的过程就是反向解析

反向解析实现的方式

不传参反向解析

我们先给后端的匹配关系起一个别名,这个别名任意取名都可以

url(r'^test/', test, name='xxx')

1、前端实现

  通过在链接处输入{% url '路由的别名xxx' %}

<a href="{% url 'xxx' %}"></a>
<form action="{% url 'xxx' %}"></form>

2、后端实现

  后端通过reverse('别名')

from django.shortcuts import redirect, reverse
def tt(request):
    _url = reverse('xxx')
    return redirect(_url)

传参反向解析

上面说的都是函数不需要传参的,还有一种需要传参的路由匹配

url(r'testsas/(\d+)', test, name='xxx'),

1、前端实现

  直接接着后面跟参数就行

<a href="{% url 'xxx' 1 %}"></a>
<form action="{% url 'xxx' 9 %}"></form>

2、后端实现

  在reverse中加入args参数,以元组形式传参

from django.shortcuts import redirect, reverse
def tt(request):
    _url = reverse('xxx',args=(1,))
    return redirect(_url)

 

转载于:https://www.cnblogs.com/hesujian/p/11285370.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值