子类HttpResponseRedirect
- 当一个逻辑处理完成后,不需要向客户端呈现数据,而是转回到其它页面,如添加成功、修改成功、删除成功后显示数据列表,而数据的列表视图已经开发完成,此时不需要重新编写列表的代码,而是转到这个视图就可以,此时就需要模拟一个用户请求的效果,从一个视图转到另外一个视图,就称为重定向
- Django中提供了HttpResponseRedirect对象实现重定向功能,这个类继承自HttpResponse,被定义在django.http模块中,返回的状态码为302
示例
- 在booktest/views.py文件中定义视图red1,代码如下
from django.http import HttpResponseRedirect
...
# 定义重定义向视图,转向首页
def red1(request):
return HttpResponseRedirect('/')
- 在booktest/urls.py文件中配置url
url(r'^red1/$', views.red1),
http://127.0.0.1:8000/red1/
重定向简写函数redirect
- 在django.shortcuts模块中为重定向类提供了简写函数redirect
- 修改booktest/views.py文件中red1视图,代码如下
from django.shortcuts import redirect
...
def red1(request):
return redirect('/')