django路由系统之反向生成url

from niubin.service import v1
from django.urls import reverse
from django.shortcuts import HttpResponse,redirect


def index(request):
   print(reverse('index1'))
print(reverse('xx:xx1:add')) return redirect(reverse('index2',args=(2,3)))
def test(request,*args,**kwargs): return HttpResponse('q') urlpatterns = [ url(r'^index/', index,name='index1'), url(r'^test/(\d+)/(\d+)/', test,name='index2'), url(r'^admin/', ([ url(r'^app01/', index,name='add'), url(r'^app01/', index), url(r'^app01/', ([ url(r'^c/', index), url(r'^userinfo/add', index, name='add'), url(r'^userinfo/(\d+)/delete', index), url(r'^userinfo/(\d+)/change', index), ], 'xx1', 'xx1')), ],'xx','xx')), url(r'^nb/', v1.site.urls) ]

注释:1、如图所示如果路由系统url后面有参数name='xxx',想要在任意函数中生成name='xxx'的url路径,就必须使用reverse(''x'')方法,x指代的是name对应的值

   2、如图所示如果路由系统url有相应的数字,想要在任意函数中生成name='xxx'的url路径并且把数字也显示出来,就必须使用reverse(''x'',args=(w,z))方法,x指代的是name对应的值,w和z指代的是url上对应的数字

   3、如图所示如果路由系统url上有路由重定向,想要在任意函数中生成name='xxx'的url路径,就必须使用reverse(''namespace:x'')方法,namespace指代的是路由重分发的第三个参数值,并且如果存在多次路由重分发使用reverse(''namespace:namespace1:x'')方法时namespace就必须从外到里写

转载于:https://www.cnblogs.com/xuanan/p/7693495.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值