开发者

Django redirecting to external url that contains parameters (for development)

开发者 https://www.devze.com 2022-12-19 03:24 出处:网络
When developing with Django without a web server (serving directly from Django) I have a problem with external urls that lack the domain part and have parameters.

When developing with Django without a web server (serving directly from Django) I have a problem with external urls that lack the domain part and have parameters.

Let's say I'm using a javascript library that does a开发者_StackOverflown ajax call to "/prefix/foo/bar?q=1" (the url is not something I can change). It is not a problem for the production server but only a problem when not using a web server. I can redirect by adding the following pattern to my urlpatters:

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

but of course %(path)s will only contain "foo/bar" not "foo/bar?q=1".

Is there a way to handle this problem with Django?


You'll have to write your own redirect:

def redirect_get(request, url, **kwargs):
    if request.META['QUERY_STRING']:
        url += '?%s' % request.META['QUERY_STRING']
    return redirect_to(request, url, **kwargs)
0

精彩评论

暂无评论...
验证码 换一张
取 消