django 重定向

  重定向分为永久性重定向和暂时性重定向,在页面上体现的操作是浏览器会从一个页面自动跳转到另一个页面。比如,用户访问了一个需要权限的页面,但是该用户当前没有登录,因此我们应该给他重定向到登录页面。
  永久性重定向:http的状态码是301,多用于旧网址被废弃了,要转到一个新的网址确保用户的访问,最经典的就是京东网站,你输入:www.jingdong.com的时候,会被重新定向到:www.jd.com。
  暂时性重定向:http状态码是302,表示页面的跳转是暂时性的。比如,用户访问了一个需要权限的页面,但是该用户当前没有登录,应该给他重定向到登录页面。这种情况下应该用暂时性重定向。

  在django中,重定向是使用redirect(to,*args,permanent=False,**kwargs)来实现的。to是一个url,permanent代表的是这个重定向是否是一个永久的重定向,默认是False。实例代码如下:
  

1 from django.http import HttpResponse
2 from django.shortcuts import reverse,redirect
3
4 def profile(request):
5      user = request.user
6      if user:
7         return HttpResponse("欢迎%s,来到个人中心"% user.username)
8       else:
9         return redirect(reverse("user:login"))

原文地址:https://www.cnblogs.com/xshan/p/12173185.html

时间: 2024-10-10 15:07:01

django 重定向的相关文章

django重定向

问题:在做插入新项目数据时,因为要回到index页面,如果把保存数据的代码写到index里,会导致刷新一次,提交一次post请求,而且如果多个页面都要post数据后回到index页面,会导致index页面很乱 解决方法:在新建项目的方法加一个if语句,如果是POST的method,就提交数据并做重定向,在方法里返回一个重定向,重定向HttpResponseRedirect是HttpResponse的子类,每个view的方法都必须返回一个Response. from django.http imp

django 重定向到请求页面

return HttpResponseRedirect(request.META.get('HTTP_REFERER','/'))

Django基础知识点

1.对Django的认识 1.Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构.以及全功能的管理后台. 2.Django内置的ORM跟框架内的其他模块耦合程度高. 应用程序必须使用Django内置的ORM,否则就不能享受到框架内提供的种种基于其ORM的便利: 理论上可以切换掉其ORM模块,但这就相当于要把装修完毕的房子拆除重新装修,倒不如一开始就去毛胚房做全新的装修. 3.Django的卖点是超高的开发效率,其性能扩展

django常见问题

1 列举Http请求中常见的请求方式 HTTP请求的方法: HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式 注意: 1)方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Mothod Not Allowed):当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented). 2)HTTP服务器至少应该实现GET和HEAD/POST方法,其他方法都是

面试:django

1. Django,MIDDLEWARES中间件的作用和应用场景? #中间件是介于request与response处理之间的一道处理过程,用于在全局范围内改变Django的输入和输出. #简单的来说中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额外的操作 #例如: #1.Django项目中默认启用了csrf保护,每次请求时通过CSRF中间件检查请求中是否有正确#token值 #2.当用户在页面上发送请求时,通过自定义的认证中间件,判断用户是否已经登陆,未登陆就去登陆. #3.当有用户请

django面试八

1. 对Django的认识? #1.Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构.以及全功能的管理后台. #2.Django内置的ORM跟框架内的其他模块耦合程度高. #应用程序必须使用Django内置的ORM,否则就不能享受到框架内提供的种种基于其ORM的便利: #理论上可以切换掉其ORM模块,但这就相当于要把装修完毕的房子拆除重新装修,倒不如一开始就去毛胚房做全新的装修. #3.Django的卖点是超高的开发效

django考点

1 列举Http请求中常见的请求方式2 谈谈你对HTTP协议的认识.1.1 长连接3 简述MVC模式和MVT模式4 简述Django请求生命周期5 简述什么是FBV和CBV6 谈一谈你对ORM的理解7 rest_framework 认证组件的流程8 什么是中间件并简述其作用9 django 中间件生命周期 10 django中怎么写原生SQL11 如何使用django orm批量创建数据12 命令migrate 和makemigrations的差别14 常用视图响应的方式是什么?15 HTTP响

django考点答案

1 列举Http请求中常见的请求方式 2 谈谈你对HTTP协议的认识.1.1 长连接3 简述MVC模式和MVT模式4 简述Django请求生命周期5 简述什么是FBV和CBV6 谈一谈你对ORM的理解7 rest_framework 认证组件的流程8 什么是中间件并简述其作用9 django 中间件生命周期 10 django中怎么写原生SQL11 如何使用django orm批量创建数据12 命令migrate 和makemigrations的差别14 常用视图响应的方式是什么?15 HTTP

Django开发常用方法及面试题

1. 对Django的认识? #1.Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构.以及全功能的管理后台. #2.Django内置的ORM跟框架内的其他模块耦合程度高. #应用程序必须使用Django内置的ORM,否则就不能享受到框架内提供的种种基于其ORM的便利: #理论上可以切换掉其ORM模块,但这就相当于要把装修完毕的房子拆除重新装修,倒不如一开始就去毛胚房做全新的装修. #3.Django的卖点是超高的开发效