django学习日志(View视图)第二部分:视图语法:重定向+反向解析
正向解析 重定向
urlpatterns = [
url(r'^posargs/(\d+)/(\d+)/(\d+)/', views.positionArgs,name='pafunc'),
url(r'^keywordargs/(?P<year>\d+)/(?P<month>\d+)/(?P<date>\d+)/', views.keyWordArgs, name='kwfunc'),
url(r'^links/', views.gotoLinksPage, name='linkfunc'),
# 访问已过期的老路由重定向到新路由去
url(r'^positionargs/(\d+)/(\d+)/(\d+)/', views.redirectUrl1),
url(r'^kwargs/(?P<year>\d+)/(?P<month>\d+)/(?P<date>\d+)/', views.redirectUrl2),
]
def redirectUrl1(request,arg1,arg2,arg3):
return HttpResponseRedirect('/app/posargs/'+arg1+'/'+arg2+'/'+arg3+'/')
def redirectUrl2(request,date,month,year):
return HttpResponseRedirect('/app/keywordargs/'+year+'/'+month+'/'+date+'/')
反向解析 重定向
from django.urls import reverse
def redirectUrl1(request,arg1,arg2,arg3):
# return HttpResponseRedirect('/app/posargs/'+arg1+'/'+arg2+'/'+arg3+'/')
return HttpResponseRedirect(reverse('appns:pafunc',args=(arg1,arg2,arg3)))
def redirectUrl2(request,date,month,year):
# return HttpResponseRedirect('/app/keywordargs/'+year+'/'+month+'/'+date+'/')
return HttpResponseRedirect(reverse('appns:kwfunc',kwargs={'year':year,'month':month,'date':date}))