Django 重定向到第二 URL

Django Redirect to Second URL

我正在尝试重定向到自定义 url,因为它在下面进行了编码。然而,可能有损坏的 url。因此,我喜欢在出错的情况下重定向到第二个 url。

有没有办法在出错的情况下重定向到第二个 url?

        page = self.request.POST.get('ex_page')
        return redirect(page)                

您可以使用它来检查 URL 是否解析,然后重定向到辅助页面。

page = self.request.POST.get('ex_page')

try:
  resolve(page)
  return redirect(page)
except Resolver404:
  return redirect(secondary_url)

如果“broken URL”表示无法查找page,因为它在相关的urls.py中不存在,那么:

from django.urls.exceptions import NoReverseMatch
...

try:
    destination = redirect(page)
except NoReverseMatch:
    destination = redirect('homepage')
return destination