Как перенаправить пользователей на мобильное приложение в представлении Django?

У меня есть веб-приложение Django, и я пытаюсь перенаправить пользователей на мое мобильное приложение в одном из представлений.

def magic_link(request, token):
    return redirect(f"{settings.FRONTEND_URL}/magic_link/{token}")

Эта перенаправляющая ссылка похожа на: appname://magic_link/token. Однако я получаю следующую ошибку.

DisallowedRedirect at /magic_link/{token}/
Unsafe redirect to URL with protocol 'appname'

Как я могу исправить эту проблему и перенаправить пользователей на мобильное приложение в представлении Django?

Вам следует создать свой собственный HttpResponsePermanentRedirect, который наследуется от HttpResponsePermanentRedirect от django. В собственном классе вы добавляете схему вашего приложения в allow_schemes (что-то соответствующее, я не очень хорошо помню) чтобы дать django знать, что ваша схема приложения действительна.

Пример:

class HttpResponsePermanentRedirect(HttpResponsePermanentRedirect by django):
   allow_schemes=['your_app_scheme',...]
Вернуться на верх