1

我正在使用tastepie为我的应用程序提供API。我更喜欢没有尾部斜杠的 URL。我更喜欢/api/v1/entry/set/1;3而不是/api/v1/entry/set/1;3/. 我已经关闭了 django 的APPEND_SLASH并打开了TASTYPIE_ALLOW_MISSING_SLASH

这很好用,除了 get_multiple (/set),它的文档中的 sweetpie 注释不能在没有尾部斜杠的情况下工作。sweetpie 代码中的 URL 正则表达式是:

# Due to the way Django parses URLs, ``get_multiple`` won't work without
# a trailing slash.
...
url(r"^(?P<resource_name>%s)/set/(?P<%s_list>\w[\w/;-]*)/$" %
             (self._meta.resource_name, self._meta.detail_uri_name),
             self.wrap_view('get_multiple'), name="api_get_multiple"),
...

我已经证实这是真的。如果启用了 APPEND_SLASH,则匹配良好,但更改/api/v1/notes/set/2;1上述正则表达式以使其与模式不匹配。/api/v1/notes/set/2;1///?

当我尝试re手动使用模块时,模式匹配正确。为什么 django 不匹配没有斜杠的 URL?

4

1 回答 1

0

这已得到修复。我的拉取请求于 2012 年 6 月 14 日被合并。

于 2012-07-25T00:11:35.083 回答