Skip to content

Remove django.conf.urls.pattern #3027

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 11, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions rest_framework/routers.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

import itertools
from collections import namedtuple
from django.conf.urls import patterns, url
from django.conf.urls import url
from django.core.exceptions import ImproperlyConfigured
from django.core.urlresolvers import NoReverseMatch
from rest_framework import views
Expand Down Expand Up @@ -76,7 +76,7 @@ def get_urls(self):
@property
def urls(self):
if not hasattr(self, '_urls'):
self._urls = patterns('', *self.get_urls())
self._urls = self.get_urls()
return self._urls


Expand Down
13 changes: 6 additions & 7 deletions rest_framework/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,22 @@
Add these to your root URLconf if you're using the browsable API and
your API requires authentication:

urlpatterns = patterns('',
urlpatterns = [
...
url(r'^auth/', include('rest_framework.urls', namespace='rest_framework'))
)
]

The urls must be namespaced as 'rest_framework', and you should make sure
your authentication settings include `SessionAuthentication`.
"""
from __future__ import unicode_literals
from django.conf.urls import patterns, url
from django.conf.urls import url
from django.contrib.auth import views


template_name = {'template_name': 'rest_framework/login.html'}

urlpatterns = patterns(
'',
urlpatterns = [
url(r'^login/$', views.login, template_name, name='login'),
url(r'^logout/$', views.logout, template_name, name='logout')
)
url(r'^logout/$', views.logout, template_name, name='logout'),
]
9 changes: 4 additions & 5 deletions tests/browsable_api/auth_urls.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
from __future__ import unicode_literals
from django.conf.urls import patterns, url, include
from django.conf.urls import url, include

from .views import MockView


urlpatterns = patterns(
'',
(r'^$', MockView.as_view()),
urlpatterns = [
url(r'^$', MockView.as_view()),
url(r'^auth/', include('rest_framework.urls', namespace='rest_framework')),
)
]
9 changes: 4 additions & 5 deletions tests/browsable_api/no_auth_urls.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
from __future__ import unicode_literals
from django.conf.urls import patterns

from django.conf.urls import url
from .views import MockView

urlpatterns = patterns(
'',
(r'^$', MockView.as_view()),
)
urlpatterns = [
url(r'^$', MockView.as_view()),
]
17 changes: 8 additions & 9 deletions tests/test_authentication.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from __future__ import unicode_literals
from django.conf.urls import patterns, url, include
from django.conf.urls import url, include
from django.contrib.auth.models import User
from django.http import HttpResponse
from django.test import TestCase
Expand Down Expand Up @@ -37,14 +37,13 @@ def put(self, request):
return HttpResponse({'a': 1, 'b': 2, 'c': 3})


urlpatterns = patterns(
'',
(r'^session/$', MockView.as_view(authentication_classes=[SessionAuthentication])),
(r'^basic/$', MockView.as_view(authentication_classes=[BasicAuthentication])),
(r'^token/$', MockView.as_view(authentication_classes=[TokenAuthentication])),
(r'^auth-token/$', 'rest_framework.authtoken.views.obtain_auth_token'),
url(r'^auth/', include('rest_framework.urls', namespace='rest_framework'))
)
urlpatterns = [
url(r'^session/$', MockView.as_view(authentication_classes=[SessionAuthentication])),
url(r'^basic/$', MockView.as_view(authentication_classes=[BasicAuthentication])),
url(r'^token/$', MockView.as_view(authentication_classes=[TokenAuthentication])),
url(r'^auth-token/$', 'rest_framework.authtoken.views.obtain_auth_token'),
url(r'^auth/', include('rest_framework.urls', namespace='rest_framework')),
]


class BasicAuthTests(TestCase):
Expand Down
7 changes: 3 additions & 4 deletions tests/test_filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import datetime
from decimal import Decimal
from django.db import models
from django.conf.urls import patterns, url
from django.conf.urls import url
from django.core.urlresolvers import reverse
from django.test import TestCase
from django.test.utils import override_settings
Expand Down Expand Up @@ -94,13 +94,12 @@ class GetQuerysetView(generics.ListCreateAPIView):
def get_queryset(self):
return FilterableItem.objects.all()

urlpatterns = patterns(
'',
urlpatterns = [
url(r'^(?P<pk>\d+)/$', FilterClassDetailView.as_view(), name='detail-view'),
url(r'^$', FilterClassRootView.as_view(), name='root-view'),
url(r'^get-queryset/$', GetQuerysetView.as_view(),
name='get-queryset-view'),
)
]


class CommonFilteringTestCase(TestCase):
Expand Down
7 changes: 3 additions & 4 deletions tests/test_htmlrenderer.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from __future__ import unicode_literals
from django.core.exceptions import PermissionDenied
from django.conf.urls import patterns, url
from django.conf.urls import url
from django.http import Http404
from django.test import TestCase
from django.template import TemplateDoesNotExist, Template
Expand Down Expand Up @@ -34,12 +34,11 @@ def not_found(request):
raise Http404()


urlpatterns = patterns(
'',
urlpatterns = [
url(r'^$', example),
url(r'^permission_denied$', permission_denied),
url(r'^not_found$', not_found),
)
]


class TemplateHTMLRendererTests(TestCase):
Expand Down
7 changes: 3 additions & 4 deletions tests/test_middleware.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@

from django.conf.urls import patterns, url
from django.conf.urls import url
from django.contrib.auth.models import User
from rest_framework.authentication import TokenAuthentication
from rest_framework.authtoken.models import Token
from rest_framework.test import APITestCase
from rest_framework.views import APIView


urlpatterns = patterns(
'',
urlpatterns = [
url(r'^$', APIView.as_view(authentication_classes=(TokenAuthentication,))),
)
]


class MyMiddleware(object):
Expand Down
7 changes: 3 additions & 4 deletions tests/test_renderers.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.conf.urls import patterns, url, include
from django.conf.urls import url, include
from django.core.cache import cache
from django.db import models
from django.test import TestCase
Expand Down Expand Up @@ -103,8 +103,7 @@ class HTMLView1(APIView):
def get(self, request, **kwargs):
return Response('text')

urlpatterns = patterns(
'',
urlpatterns = [
url(r'^.*\.(?P<format>.+)$', MockView.as_view(renderer_classes=[RendererA, RendererB])),
url(r'^$', MockView.as_view(renderer_classes=[RendererA, RendererB])),
url(r'^cache$', MockGETView.as_view()),
Expand All @@ -113,7 +112,7 @@ def get(self, request, **kwargs):
url(r'^html1$', HTMLView1.as_view()),
url(r'^empty$', EmptyGETView.as_view()),
url(r'^api', include('rest_framework.urls', namespace='rest_framework'))
)
]


class POSTDeniedPermission(permissions.BasePermission):
Expand Down
9 changes: 4 additions & 5 deletions tests/test_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Tests for content parsing, and form-overloaded content parsing.
"""
from __future__ import unicode_literals
from django.conf.urls import patterns
from django.conf.urls import url
from django.contrib.auth.models import User
from django.contrib.auth import authenticate, login, logout
from django.contrib.sessions.middleware import SessionMiddleware
Expand Down Expand Up @@ -189,10 +189,9 @@ def post(self, request):

return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR)

urlpatterns = patterns(
'',
(r'^$', MockView.as_view()),
)
urlpatterns = [
url(r'^$', MockView.as_view()),
]


class TestContentParsingWithAuthentication(TestCase):
Expand Down
7 changes: 3 additions & 4 deletions tests/test_response.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from __future__ import unicode_literals
from django.conf.urls import patterns, url, include
from django.conf.urls import url, include
from django.test import TestCase
from django.utils import six
from tests.models import BasicModel
Expand Down Expand Up @@ -113,8 +113,7 @@ class HTMLNewModelView(generics.ListCreateAPIView):
new_model_viewset_router.register(r'', HTMLNewModelViewSet)


urlpatterns = patterns(
'',
urlpatterns = [
url(r'^setbyview$', MockViewSettingContentType.as_view(renderer_classes=[RendererA, RendererB, RendererC])),
url(r'^.*\.(?P<format>.+)$', MockView.as_view(renderer_classes=[RendererA, RendererB, RendererC])),
url(r'^$', MockView.as_view(renderer_classes=[RendererA, RendererB, RendererC])),
Expand All @@ -123,7 +122,7 @@ class HTMLNewModelView(generics.ListCreateAPIView):
url(r'^html_new_model$', HTMLNewModelView.as_view()),
url(r'^html_new_model_viewset', include(new_model_viewset_router.urls)),
url(r'^restframework', include('rest_framework.urls', namespace='rest_framework'))
)
]


# TODO: Clean tests bellow - remove duplicates with above, better unit testing, ...
Expand Down
7 changes: 3 additions & 4 deletions tests/test_reverse.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from __future__ import unicode_literals
from django.conf.urls import patterns, url
from django.conf.urls import url
from django.core.urlresolvers import NoReverseMatch
from django.test import TestCase
from rest_framework.reverse import reverse
Expand All @@ -11,10 +11,9 @@
def null_view(request):
pass

urlpatterns = patterns(
'',
urlpatterns = [
url(r'^view$', null_view, name='view'),
)
]


class MockVersioningScheme(object):
Expand Down
7 changes: 3 additions & 4 deletions tests/test_testing.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# encoding: utf-8
from __future__ import unicode_literals
from django.conf.urls import patterns, url
from django.conf.urls import url
from django.contrib.auth.models import User
from django.shortcuts import redirect
from django.test import TestCase
Expand Down Expand Up @@ -32,12 +32,11 @@ def redirect_view(request):
return redirect('/view/')


urlpatterns = patterns(
'',
urlpatterns = [
url(r'^view/$', view),
url(r'^session-view/$', session_view),
url(r'^redirect-view/$', redirect_view),
)
]


class TestAPITestClient(TestCase):
Expand Down
22 changes: 9 additions & 13 deletions tests/test_urlpatterns.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from __future__ import unicode_literals
from collections import namedtuple
from django.conf.urls import patterns, url, include
from django.conf.urls import url, include
from django.core import urlresolvers
from django.test import TestCase
from rest_framework.test import APIRequestFactory
Expand Down Expand Up @@ -36,10 +36,9 @@ def _resolve_urlpatterns(self, urlpatterns, test_paths):
self.assertEqual(callback_kwargs, test_path.kwargs)

def test_format_suffix(self):
urlpatterns = patterns(
'',
urlpatterns = [
url(r'^test$', dummy_view),
)
]
test_paths = [
URLTestPath('/test', (), {}),
URLTestPath('/test.api', (), {'format': 'api'}),
Expand All @@ -48,10 +47,9 @@ def test_format_suffix(self):
self._resolve_urlpatterns(urlpatterns, test_paths)

def test_default_args(self):
urlpatterns = patterns(
'',
urlpatterns = [
url(r'^test$', dummy_view, {'foo': 'bar'}),
)
]
test_paths = [
URLTestPath('/test', (), {'foo': 'bar', }),
URLTestPath('/test.api', (), {'foo': 'bar', 'format': 'api'}),
Expand All @@ -60,14 +58,12 @@ def test_default_args(self):
self._resolve_urlpatterns(urlpatterns, test_paths)

def test_included_urls(self):
nested_patterns = patterns(
'',
nested_patterns = [
url(r'^path$', dummy_view)
)
urlpatterns = patterns(
'',
]
urlpatterns = [
url(r'^test/', include(nested_patterns), {'foo': 'bar'}),
)
]
test_paths = [
URLTestPath('/test/path', (), {'foo': 'bar', }),
URLTestPath('/test/path.api', (), {'foo': 'bar', 'format': 'api'}),
Expand Down
7 changes: 3 additions & 4 deletions tests/test_utils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from __future__ import unicode_literals
from django.core.exceptions import ImproperlyConfigured
from django.conf.urls import patterns, url
from django.conf.urls import url
from django.test import TestCase
from django.utils import six
from rest_framework.utils.model_meta import _resolve_model
Expand Down Expand Up @@ -31,14 +31,13 @@ class NestedResourceInstance(APIView):
pass


urlpatterns = patterns(
'',
urlpatterns = [
url(r'^$', Root.as_view()),
url(r'^resource/$', ResourceRoot.as_view()),
url(r'^resource/(?P<key>[0-9]+)$', ResourceInstance.as_view()),
url(r'^resource/(?P<key>[0-9]+)/$', NestedResourceRoot.as_view()),
url(r'^resource/(?P<key>[0-9]+)/(?P<other>[A-Za-z]+)$', NestedResourceInstance.as_view()),
)
]


class BreadcrumbTests(TestCase):
Expand Down
4 changes: 1 addition & 3 deletions tests/urls.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
"""
Blank URLConf just to keep the test suite happy
"""
from django.conf.urls import patterns

urlpatterns = patterns('')
urlpatterns = []