0

WebサーバーなしでDjangoを使用して開発する場合(Djangoから直接提供)、ドメイン部分がなく、パラメーターがある外部URLに問題があります。

「/prefix/ foo / bar?q = 1」へのajax呼び出しを行うjavascriptライブラリを使用しているとしましょう(URLは変更できるものではありません)。これは本番サーバーでは問題になりませんが、Webサーバーを使用しない場合にのみ問題になります。次のパターンをurlpatterに追加することでリダイレクトできます。

(r'^prefix/(?P<path>.*)$', 'django.views.generic.simple.redirect_to', {'url': 'htttp://example.com/prefix/%(path)s'}),

ただし、もちろん%(path)sには「foo / bar?q=1」ではなく「foo/bar」のみが含まれます。

Djangoでこの問題を処理する方法はありますか?

4

1 に答える 1

2

独自のリダイレクトを作成する必要があります。

def redirect_get(request, url, **kwargs):
    if request.META['QUERY_STRING']:
        url += '?%s' % request.META['QUERY_STRING']
    return redirect_to(request, url, **kwargs)
于 2010-02-06T07:05:34.410 に答える