mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-05 13:00:12 +03:00
Ability to use Router with empty path with and without trailing_slash
This commit is contained in:
parent
e946a496dc
commit
93d568c7d4
|
@ -96,13 +96,13 @@ class SimpleRouter(BaseRouter):
|
|||
# Generated using @list_route decorator
|
||||
# on methods of the viewset.
|
||||
DynamicListRoute(
|
||||
url=r'^{prefix}/{methodname}{trailing_slash}$',
|
||||
url=r'^{prefix}{methodname}{trailing_slash}$',
|
||||
name='{basename}-{methodnamehyphen}',
|
||||
initkwargs={}
|
||||
),
|
||||
# Detail route.
|
||||
Route(
|
||||
url=r'^{prefix}/{lookup}{trailing_slash}$',
|
||||
url=r'^{prefix}{lookup}{trailing_slash}$',
|
||||
mapping={
|
||||
'get': 'retrieve',
|
||||
'put': 'update',
|
||||
|
@ -115,7 +115,7 @@ class SimpleRouter(BaseRouter):
|
|||
# Dynamically generated detail routes.
|
||||
# Generated using @detail_route decorator on methods of the viewset.
|
||||
DynamicDetailRoute(
|
||||
url=r'^{prefix}/{lookup}/{methodname}{trailing_slash}$',
|
||||
url=r'^{prefix}{lookup}/{methodname}{trailing_slash}$',
|
||||
name='{basename}-{methodnamehyphen}',
|
||||
initkwargs={}
|
||||
),
|
||||
|
@ -247,11 +247,18 @@ class SimpleRouter(BaseRouter):
|
|||
continue
|
||||
|
||||
# Build the url pattern
|
||||
if prefix:
|
||||
prefix += "/"
|
||||
|
||||
regex = route.url.format(
|
||||
prefix=prefix,
|
||||
lookup=lookup,
|
||||
trailing_slash=self.trailing_slash
|
||||
)
|
||||
|
||||
if regex == '^/$':
|
||||
regex = '^$'
|
||||
|
||||
view = viewset.as_view(mapping, **route.initkwargs)
|
||||
name = route.name.format(basename=basename)
|
||||
ret.append(url(regex, view, name=name))
|
||||
|
|
Loading…
Reference in New Issue
Block a user