如何在 Python Django 中使用Redirect重定向?

本文重点介绍如何在 django 中使用重定向。
我将向您展示如何在 django 中使用返回重定向。
如果您对如何在 django 中使用重定向功能有疑问,那么我将给出一个简单的示例和解决方案。
在这里,您将学习 django url 重定向到另一个 url。

Django 函数重定向基本上会返回一个带有正确 URL的HttpResponseRedirect 。我认为您总是更喜欢使用此快捷方式,因此我的代码库保持一致。

因此,使用重定向而不是HttpResponseRedirect的主要好处是您可以传递不同类型的参数,并且它还可以避免在您的 django 项目中的 views.py 文件中导入 django.urlresolvers.reverse

在这里,我逐步解释了如何在 django 中使用重定向的示例。

重定向方法中有三个参数:

  1. 模型实例:这将调用模型的 get_absolute_url() 方法
  2. 反向 URL 名称:接受视图参数..
  3. 绝对或相对 URL:

模型实例

在这个参数中,这将调用模型的get_absolute_url()方法;

from django.shortcuts import redirect
from simple_blog.models import Blog

def post_view(request, post_id):
    blog = Blog.objects.get(pk=post_id)
    return redirect(blog)

这类似于:return HttpResponseRedirect(blog.get_absolute_url())

反向网址名称:

在此参数中,这将调用接受视图参数的反向 url 名称

from django.shortcuts import redirect
from simple_blog.models import Blog

def post_view(request, post_id):
    return redirect('post_details', id=post_id)

这类似于: return HttpResponseRedirect(reverse(‘post_details’, args=(post_id, )))

绝对或相对 URL:

在最后一个参数中,这将在视图参数中调用绝对或相对 url:

from django.shortcuts import redirect

def relative_url_view(request):
    return redirect('/blog/cat/django/')

def absolute_url_view(request):
    return redirect('https://www.ai8py.com/tag/django')

相对 URL:这类似于 return HttpResponseRedirect(‘/blog/cat/django/’)

绝对 URL:这类似于 return HttpResponseRedirect(‘https://www.ai8py.com/tag/django’)

我希望它会帮助你……

发表评论

邮箱地址不会被公开。 必填项已用*标注