14

我们有一个重定向到非 HTTP url 方案的视图。它用于 iOS 应用程序。但是由于我们已经升级到 Django1.4,所以在执行这个重定向代码时会发生崩溃。它崩溃了

SuspeciousOperation at /myyrlscheme/

使用方案 appdev 不安全地重定向到 URL:

以下是代码:

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预期的HTTP(s)url 方案那样崩溃。我如何告诉 Django 这是一个安全的 url 并且只是盲目地重定向?

4

1 回答 1

21

我相信您需要有一个自定义 Response 对象,请考虑以下内容:

response = HttpResponse("", status=302)
response['Location'] = "appdev://..."
return response
于 2013-01-28T09:28:35.493 回答