imgeaslikok
imgeaslikok

Reputation: 626

How to redirect users to a mobile app in Django view?

I have a Django web application and I'm trying to redirect users to my mobile app in one of the views.

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

This redirect link is like: appname://magic_link/token. However, I'm getting the following error.

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

How can I fix this issue and redirect users to the mobile app in Django view?

Upvotes: 2

Views: 770

Answers (1)

Huy Le
Huy Le

Reputation: 11

You should create your own HttpResponsePermanentRedirect which inherits from HttpResponsePermanentRedirect by django. In your own class, you add your app scheme to the allow_schemes (something relevant, i can't remember so well) to let django know your app scheme is valid.

Example:

class HttpResponsePermanentRedirect(HttpResponsePermanentRedirect by django):
   allow_schemes=['your_app_scheme',...]

Upvotes: 1

Related Questions