分组匹配错误,django url调度程序

时间:2014-01-02 22:24:53

标签: python regex django url-routing django-urls

我只是想知道是否可以像这样在django中创建一个大的url模式:

url(r'^/foo('/limit/(?P<limit>\d+)/|/offset/(?P<offset>\d+)/|/limit/(?P<limit>\d+)/offset/(?P<offset>\d+)/|/offset/(?P<offset>\d+)/limit/(?P<limit>\d+)/?$', 'foo', name='foo'),

避免写:

url(r'^/foo/limit/(?P<limit>\d+)/?$', 'foo', name='foo'),
url(r'^/foo/offset/(?P<offset>\d+)/?$', 'foo', name='foo'),
url(r'^/foo/limit/(?P<limit>\d+)/offset/(?P<offset>\d+)/?$', 'foo', name='foo'),
url(r'^/foo//offset/(?P<offset>\d+)/limit/(?P<limit>\d+)/?$', 'foo', name='foo'),

我收到第一个分组错误。

我的目标是为每个端点只写一个网址,以便加快django搜索网址的正则表达式模式,因为如果我写了大量网址模式需要花费很多,尽管每个端点只需编写一个网址并且{ {1}},limit可选,但是当我想写offset时,这是行不通的我希望能够以任何顺序为params发出请求(想象我有7个参数用于终点......看看这是怎么回事?)

有任何想法或建议吗?

由于

1 个答案:

答案 0 :(得分:0)

在大多数REST API中,我看到“limit”和“offset”(或“start”和“count”)是查询参数:

https://blog.apigee.com/detail/restful_api_design_can_your_api_give_developers_just_the_information