2010-02-06 63 views
0

當使用Django開發沒有一個Web服務器(直接從Django的服務),我對此缺乏域部分有參數外部URL的一個問題。Django的重定向到外部URL包含參數(發展)

比方說,我正在使用一個JavaScript庫,它會對「/ prefix/foo/bar?q = 1」進行ajax調用(url不是我可以改變的)。這對於生產服務器來說不是問題,而只是在不使用Web服務器時出現問題。我可以通過將下面的圖案到我urlpatters重定向:

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

但當然%(路徑)■將只包含「富/欄」不爲「foo /酒吧Q = 1?」。

有沒有辦法用Django來處理這個問題?

回答

2

你必須寫自己的重定向:

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

快速回答切題。謝謝!當然,上面提到的ajax調用不起作用,因爲它們是跨域的。爲了彌補這一點,我想我應該把一些代理代碼放在django中。 – kmt 2010-02-06 21:14:33