Django调度员的问题

时间:2012-10-04 19:37:36

标签: django dispatcher

我在调度网址时遇到了一些问题。我的规则是:

urlpatterns += patterns('proxy.views',
    (r'^$', 'proxyviews.index'),
    (r'^go/(?P<url>\S+)', 'proxyviews.go'),
    (r'^proxy/(\S+)$', 'proxyviews.proxy'),
)

如果我给它下一个网址:“http://myproxy.com/go/http://foo.bar”它将是“http://myproxy.com/go/http:/foo.bar “ - 在”go / http:“之后加上一个斜杠。我不确定这里有什么问题。你有什么想法?感谢。

1 个答案:

答案 0 :(得分:1)

实际上在您的网址中,您提供原始字符串,因此“\”仅表示“\”。为了更好地使用url encode

例如,而不是

  

http://myproxy.com/go/http://foo.bar

你应该给网址

  

http://myproxy.com/go/http%3A%2F%2Ffoo.bar

此外,您还应编码“%”,因此更好

  

http://myproxy.com/go/http%253A%252F%252Ffoo.bar

感谢