from niubin.service import v1from django.urls import reversefrom django.shortcuts import HttpResponse,redirectdef 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就必须从外到里写