我正在使用这款django应用: http://httpproxy.yvandermeer.net/
我正在使用它来向外部api发出请求,并且它工作正常,但是我想修改URL模式并且我没有取得多大成功。
在urls.py中我有:
urlpatterns = patterns('',
(r'^api/(?P<url>.*)$', 'httpproxy.views.proxy'),
)
我正在制作一个AJAX请求:
$.ajax({
type: "GET",
url: "http://siteaddress.com/api/search/?query1={{ model.field1 }}&key=123456789",
....
正如您所看到的,我的API密钥正在我的ajax调用的前端公开显示。我想将它附加到urls.py中的url模式,但它不起作用。
我试过了:
(r'^api/(?P<url>.*)$&key=123456789', 'httpproxy.views.proxy'),
(r'^api/(?P<url>.*)&key=123456789$', 'httpproxy.views.proxy'),
(r'^api/(?P<url>.*.&key=123456789)$', 'httpproxy.views.proxy'),
(r'^api/(?P<url>.*)$.&key=123456789', 'httpproxy.views.proxy'),
但这些似乎都不起作用。我可以将密钥附加到此网址格式的末尾,还是不可能?
答案 0 :(得分:2)
来自Django docs:
URLconf搜索请求的URL,作为普通的Python字符串。这不包括GET或POST参数或域名。
你不能把GET参数放在url regexp中。