redirect()
redirect(to, permanent=False, *args, **kwargs)[source]
将HttpResponseRedirect返回给传递的参数的相应URL。
这个参数可能是:
- 一个模型:模型的
get_absolute_url()函数将被调用。 - 视图名称,可能使用参数:
reverse()将用于反向解析名称。 - 一个绝对的或相对的
URL,将按原样用于重定向位置。
默认情况下会发出临时重定向; pass permanent = Tru发出永久重定向。
例子
您可以通过多种方式使用redirect()函数。
- 通过一些对象; 将调用该对象的
get_absolute_url()方法来找出重定向URL:
from django.shortcuts import redirect
def my_view(request):
...
object = MyModel.objects.get(...)
return redirect(object)
- 通过传递视图的名称和可选的一些位置或关键字参数; 该
URL将使用reverse()方法进行反向解析:
def my_view(request):
...
return redirect('some-view-name', foo='bar')
- 传递一个硬编码的网址重定向到:
def my_view(request):
...
return redirect('/some/url/')
默认情况下,redirect()返回一个临时重定向。 所有上述形式都接受永久参数; 如果设置为True,则将返回永久重定向:
def my_view(request):
...
object = MyModel.objects.get(...)
return redirect(object, permanent=True)
本文介绍了Django框架中重定向函数redirect的使用方法,包括如何通过模型、视图名称及直接指定URL等方式实现重定向,并解释了临时与永久重定向的区别。
6865

被折叠的 条评论
为什么被折叠?



