zoukankan      html  css  js  c++  java
  • Django基础之redirect()

    参数可以是:

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

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

    from django.shortcuts import redirect
    
    def my_view(request):
        ...
        object = MyModel.objects.get(...)
        return redirect(object)

    传递一个视图的名称

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

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

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

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

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

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

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

     扩展阅读:

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

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

     

  • 相关阅读:
    Java 开发环境配置
    JDBC数据批处理
    knockout.js简单实用教程1
    angular 入门教程1
    knockout简单实用教程3
    knockout简单实用教程2
    autofac使用笔记
    MVC WEB api 自动生成文档
    Unity IOC注入详细配置(MVC,WebApi)
    为什么php往mongo里插入整型数字8,变成了numberint(8)
  • 原文地址:https://www.cnblogs.com/yang-wei/p/9997776.html
Copyright © 2011-2022 走看看