django redirect
时间: 2023-09-13 16:04:06 浏览: 94
在Django中,重定向(redirect)是将用户从一个URL(地址)发送到另一个URL(地址)的过程。重定向可以用于许多不同的场景,例如用户登录后将其重定向到主页,或者用户提交表单后将其重定向到结果页面。
Django中实现重定向功能需要使用`redirect`函数。下面是使用`redirect`函数实现重定向的示例代码:
```python
from django.shortcuts import redirect
def my_view(request):
# 处理请求的代码...
return redirect('/redirected-url/')
```
在上面的代码中,`my_view`函数处理用户请求,并在处理完请求后将用户重定向到`/redirected-url/`地址。
除了将URL字符串作为参数传递给`redirect`函数外,还可以将URL名称(name)作为参数传递给`redirect`函数。例如:
```python
from django.urls import reverse
from django.shortcuts import redirect
def my_view(request):
# 处理请求的代码...
return redirect(reverse('redirected-url-name'))
```
在上面的代码中,`reverse`函数将URL名称`redirected-url-name`转换为URL字符串,并将其作为参数传递给`redirect`函数。
需要注意的是,在使用`redirect`函数时,需要在视图函数中返回`HttpResponseRedirect`对象,否则会出现错误。例如:
```python
from django.http import HttpResponseRedirect
from django.shortcuts import redirect
def my_view(request):
# 处理请求的代码...
return HttpResponseRedirect('/redirected-url/')
```
上面的代码与第一个示例代码功能相同,但是使用了`HttpResponseRedirect`对象。
阅读全文