Django Перенаправление на второй 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)
Если "битый URL" означает, что поиск page невозможен, потому что он не существует в соответствующем urls.py, то:
from django.urls.exceptions import NoReverseMatch
...
try:
destination = redirect(page)
except NoReverseMatch:
destination = redirect('homepage')
return destination