From 6ae57ca77b43d39ad1536490f73a63cbdab52579 Mon Sep 17 00:00:00 2001 From: David Hurst Date: Fri, 2 Dec 2016 18:03:15 -0700 Subject: [PATCH] Allow periods by default in lookup values of urls --- rest_framework/routers.py | 2 +- tests/test_routers.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rest_framework/routers.py b/rest_framework/routers.py index 7a2d981a3..629024428 100644 --- a/rest_framework/routers.py +++ b/rest_framework/routers.py @@ -230,7 +230,7 @@ class SimpleRouter(BaseRouter): # consume `.json` style suffixes and should break at '/' boundaries. lookup_field = getattr(viewset, 'lookup_field', 'pk') lookup_url_kwarg = getattr(viewset, 'lookup_url_kwarg', None) or lookup_field - lookup_value = getattr(viewset, 'lookup_value_regex', '[^/.]+') + lookup_value = getattr(viewset, 'lookup_value_regex', '[^/]+') return base_regex.format( lookup_prefix=lookup_prefix, lookup_url_kwarg=lookup_url_kwarg, diff --git a/tests/test_routers.py b/tests/test_routers.py index d28e301a0..f1551bc2e 100644 --- a/tests/test_routers.py +++ b/tests/test_routers.py @@ -249,7 +249,7 @@ class TestTrailingSlashIncluded(TestCase): self.urls = self.router.urls def test_urls_have_trailing_slash_by_default(self): - expected = ['^notes/$', '^notes/(?P[^/.]+)/$'] + expected = ['^notes/$', '^notes/(?P[^/]+)/$'] for idx in range(len(expected)): self.assertEqual(expected[idx], self.urls[idx].regex.pattern) @@ -264,7 +264,7 @@ class TestTrailingSlashRemoved(TestCase): self.urls = self.router.urls def test_urls_can_have_trailing_slash_removed(self): - expected = ['^notes$', '^notes/(?P[^/.]+)$'] + expected = ['^notes$', '^notes/(?P[^/]+)$'] for idx in range(len(expected)): self.assertEqual(expected[idx], self.urls[idx].regex.pattern)