2019.03.23 重定向
重定向就是自动跳转页面,301永久性重定向:搜索引擎会将重定向之后的新地址和网页数据缓存下来。
302临时性重定向:搜索引擎只会将页面数据缓存夏利,但是不会缓存。只会缓存就地址
重定向三种方式的使用
-
302重定向
redirect('')
-
301重定向
-
默认302请求可以改为301
-
redirect('')
1.301:永久性重定向2.302:临时性重定向
配置URL
from django.conf.urls import url
from django.contrib import admin
import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^r1/', views.r1_view),
url(r'^r2/', views.r2_view),
]
配置视图
#coding=utf-8
from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import redirect
def r1_view(request):
#方式1:302
# return HttpResponseRedirect('/r2/')
#方式2:默认302可以转换成301
# return redirect('/r2/',permanent='True')
#方式3:
response = HttpResponse()
response.status_code=302
response.setdefault('Location','/r2/')
return response
def r2_view(request):
return HttpResponse('hello3')
案例:登录成功跳转成功页面,反之跳转到登录首页
订制错误页面
在开发阶段修改 debug 这就是那些404,500的由来在视图层中建立相应的html
#1.在settings文件中修改
DEBUG = False
ALLOWED_HOSTS = ['*']
#2.在templates目录中创建404.html/500.html