Подтвердить что ты не робот

Django 1.4 - перенаправление на не-HTTP-адреса

У нас есть представление, которое перенаправляется на схему URL-адресов, отличную от HTTP. Его используют в приложении iOS. Но поскольку мы обновили до Django1.4, мы получаем сбой, когда этот код перенаправления выполняется. Он падает с помощью

Судебная работа в /myyrlscheme/

Небезопасное перенаправление на URL со схемой appdev:

Ниже приведен код:

if acode and acode.has_key('access_token'):
    if DOMAIN == 'dev.mywebsite.com':
        return HttpResponseRedirect('appdev://fbconnect?token=%s'%(acode['access_token']))
    else:
        return HttpResponseRedirect('app://fbconnect?token=%s'%(acode['access_token']))

Я могу понять, почему это происходит, когда HttpResponseRedirect ожидает схему URL HTTP(s). Как сообщить Django, что это безопасный URL-адрес и просто вслепую перенаправление?

4b9b3361

Ответ 1

Я считаю, что вам нужно иметь собственный объект Response, подумайте о следующем:

response = HttpResponse("", status=302)
response['Location'] = "appdev://..."
return response