Django路由重定向
路由重定向又称HTTP协议重定向,也可以称为网页跳转,它对应的HTTP状态码为301、302、303、307、308。
网页重定向就是在浏览器访问某个网页的时候,这个网页不提供响应内容,而是自动跳转到其他网址,由其他网址来生成响应内容。
Django的网页重定向有两种方式:
1、路由重定向
2、自定义视图的重定向
两种方式各有优点前者使用Django内置的视图类Redirectview实现的,默认支持HTTP的GET请求;后者实在自定义视图的响应章台设置重定向,能让开发者实现多方面的开发需求。
在路由里使用视图类RedirectView必须使用as_view方法将视图类实例化,参数url用于设置网页跳转的路由地址。RedirectView.as_view(url=' ')
RedirectView在url.py中使用,需 from django.views.generic import RedirectView。
redirect在view.py中使用,需 from django.shortcuts import redirect。
重定向函数redirect是Django内置的,其函数参数只需传入路由地址即可实现重定向。