Django2.1中reverse的使用

reverse的主要作用是将提取的网址进行按照要求的替换,计算得到响应所需要的新的网址的功能

只要对应的 url 的name不改,就不用改代码中的网址。具体参考这篇,下面贴自己实际测试代码

 

配置的urls文件为:

from django.conf.urls import url
from .views import iv_info

# urlpatterns = [
#     url('^iv_info/', iv_info)
# ]
urlpatterns = [
    url('^iv_info(\d+)/', iv_info, name='info')
]

注意这个我们将这条url的名称取为info

在视图定义的iv_info的函数:

from django.shortcuts import render
from django.urls import reverse
# from django.http import HttpResponse


# Create your views here.

def iv_info(request, num):
    new_url = reverse('info', args=(3, ))
    return render(request, 'iv_info.html', {'new_url':new_url})

这里的num是正则表达式提取出的参数传入的参数

reverse传入的参数  第一个为info即我们前面url中配置的url名称(name参数)

第二个传入参数的值,和我们前面正则表达式中group的值的数量相同,因为只有一个group所以只有一个参数需要传入

 

最后的结果

我们输入的url中 iv_info1

被替换为iv_info3其他前面的url信息都不变,这样即使前面的url有改动,也不会影响后面其他部分的代码

因为reverse已经自动将前面的url补充。这就是reverse的优点

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值