Ответ 1
Я считаю, что вам нужно иметь собственный объект Response, подумайте о следующем:
response = HttpResponse("", status=302)
response['Location'] = "appdev://..."
return response
У нас есть представление, которое перенаправляется на схему 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-адрес и просто вслепую перенаправление?
Я считаю, что вам нужно иметь собственный объект Response, подумайте о следующем:
response = HttpResponse("", status=302)
response['Location'] = "appdev://..."
return response