1

我正在使用这个 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'),

但这些似乎都不起作用。我可以将密钥附加到此 url 模式的末尾还是不可能?

4

1 回答 1

2

来自 Django 文档:

URLconf 搜索请求的 URL,作为一个普通的 Python 字符串。这不包括 GET 或 POST 参数或域名。

您不能将 GET 参数放在 url 正则表达式中。

于 2012-08-17T21:11:00.347 回答