在使用Django进行开发时,HttpResponseRedirect算是用的比较广泛的,对于一些已有url,相较于使用render有时可以极大减少代码量,下面是我学习并总结的一些使用方法。
以下面urls.py为例
from django.conf.urls import url import app_one.main urlpatterns = [ url(r'^index_one/$', app_one.main.index_one,name='index_one'), url(r'^index_two/(?P<view_id>\d+)/$', app_one.main.index_two,name='index_two'), url(r'^index_three/(?P<view_id>\d+)/(?P<user_id>\d+)/$', app_one.main.index_three,name='index_three'), ]main.py文件
from django.http import HttpResponseRedirect from django.core.urlresolvers import reverse def response_one(request): ... return HttpResponseRedirect('/index_one/') #用下面这行也可以 #return HttpResponseRedirect(reverse('index_one')) def response_two(request): ... return HttpResponseRedirect(reverse('index_two',args=[vid])) def response_three(request): ... return HttpResponseRedirect(reverse('index_three'kwargs={'view_id':vid,'user_id':uid}))分别对应无参数、一个参数、多个参数的使用情况。