ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

django 之redirect()函数全解

2020-05-27 20:08:47  阅读:1354  来源: 互联网

标签:redirect ... return 重定向 django 全解 my view


参数可以是:

  • 一个模型: 将调用模型的get_absolute_url()函数
  • 一个视图, 可以带有函数: 可以使用urlresolvers.reverse来反向解析名称
  • 一个绝对的或相对的URL, 将原封不动的作为重定向的位置.

默认返回一个临时的重定向, 传递permanent=True可以返回一个永久的重定向.
示例:
你可以用多种方式使用redirect()函数.
传递一个具体的ORM对象(了解即可).
将调用具体ORM对象的get_absolute_url()方法来获取重定向的URL.

1 2 3 4 5 6 from django.shortcuts import redirect   def my_view(request):     ...     object = MyModel.objects.get(...)     return redirect(object)

传递一个视图的名称

1 2 3 def my_view(request):     ...     return redirect("some-view-name", foo="bar") 

传递要重定向到的一个具体的网址

1 2 3 def my_view(request):     ...     return redirect("/some/url/")

当然也可以是一个完整的网址

1 2 3 def my_view(request):     ...     return redirect("http://example.com")

默认情况下, redirect()返回一个临时重定向. 以上所有的形式都接收一个permanent参数; 如果设置为True, 将返回一个永久的重定向:

1 2 3 4 def my_view(request):     ...     object = MyModel.objects.get(...)     return redirect(object, permanent=True)

0|1 扩展阅读:


临时重定向(响应状态码: 302)和永久重定向(响应状态码: 301)对普通用户来说是没什么区别的, 它主要面向的是搜索引擎的机器人。

A页面临时重定向B页面, 那搜索引擎收录的就是B页面。

 

 

 

标签:redirect,...,return,重定向,django,全解,my,view
来源: https://www.cnblogs.com/mahuang/p/12976077.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有