diff options
| author | Ethan Fremen | 2013-06-07 19:49:18 -0700 |
|---|---|---|
| committer | Ethan Fremen | 2013-06-07 19:49:18 -0700 |
| commit | d89aade343ba816644c393d3d073b7ddcb795947 (patch) | |
| tree | 5428050b25a1986c907bdf6006ed7014a453637d /rest_framework | |
| parent | ae2887ffc41b1e05d6706f51b00266efccad7a58 (diff) | |
| download | django-rest-framework-d89aade343ba816644c393d3d073b7ddcb795947.tar.bz2 | |
Allow the default router to have a custom name.
Signed-off-by: Ethan Fremen <ethan@matterport.com>
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/routers.py | 3 | ||||
| -rw-r--r-- | rest_framework/tests/test_routers.py | 16 |
2 files changed, 17 insertions, 2 deletions
diff --git a/rest_framework/routers.py b/rest_framework/routers.py index 9764e569..f70c2cdb 100644 --- a/rest_framework/routers.py +++ b/rest_framework/routers.py @@ -215,6 +215,7 @@ class DefaultRouter(SimpleRouter): """ include_root_view = True include_format_suffixes = True + root_view_name = 'api-root' def get_api_root_view(self): """ @@ -244,7 +245,7 @@ class DefaultRouter(SimpleRouter): urls = [] if self.include_root_view: - root_url = url(r'^$', self.get_api_root_view(), name='api-root') + root_url = url(r'^$', self.get_api_root_view(), name=self.root_view_name) urls.append(root_url) default_urls = super(DefaultRouter, self).get_urls() diff --git a/rest_framework/tests/test_routers.py b/rest_framework/tests/test_routers.py index a7534f70..291142cf 100644 --- a/rest_framework/tests/test_routers.py +++ b/rest_framework/tests/test_routers.py @@ -6,7 +6,7 @@ from rest_framework import serializers, viewsets from rest_framework.compat import include, patterns, url from rest_framework.decorators import link, action from rest_framework.response import Response -from rest_framework.routers import SimpleRouter +from rest_framework.routers import SimpleRouter, DefaultRouter factory = RequestFactory() @@ -148,3 +148,17 @@ class TestTrailingSlash(TestCase): expected = ['^notes$', '^notes/(?P<pk>[^/]+)$'] for idx in range(len(expected)): self.assertEqual(expected[idx], self.urls[idx].regex.pattern) + +class TestNameableRoot(TestCase): + def setUp(self): + class NoteViewSet(viewsets.ModelViewSet): + model = RouterTestModel + self.router = DefaultRouter() + self.router.root_view_name = 'nameable-root' + self.router.register(r'notes', NoteViewSet) + self.urls = self.router.urls + + def test_router_has_custom_name(self): + expected = 'nameable-root' + self.assertEqual(expected, self.urls[0].name) + |
