summaryrefslogtreecommitdiff
path: root/tests/urlpatterns_reverse
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2018-12-07 17:52:28 -0500
committerTim Graham <timograham@gmail.com>2018-12-31 10:47:32 -0500
commit043bd709425149b8eff3fb821cba5c23aaebd0df (patch)
tree7624be405a6a6e5a041e2852251ef76e9d28fa7d /tests/urlpatterns_reverse
parent1136d57f01ce3e3efab44163ccd7b3b34ec4207f (diff)
Updated test URL patterns to use path() and re_path().
Diffstat (limited to 'tests/urlpatterns_reverse')
-rw-r--r--tests/urlpatterns_reverse/erroneous_urls.py4
-rw-r--r--tests/urlpatterns_reverse/extra_urls.py10
-rw-r--r--tests/urlpatterns_reverse/included_app_urls.py14
-rw-r--r--tests/urlpatterns_reverse/included_named_urls.py10
-rw-r--r--tests/urlpatterns_reverse/included_named_urls2.py8
-rw-r--r--tests/urlpatterns_reverse/included_namespace_urls.py22
-rw-r--r--tests/urlpatterns_reverse/included_no_kwargs_urls.py4
-rw-r--r--tests/urlpatterns_reverse/included_urls.py8
-rw-r--r--tests/urlpatterns_reverse/included_urls2.py6
-rw-r--r--tests/urlpatterns_reverse/method_view_urls.py6
-rw-r--r--tests/urlpatterns_reverse/named_urls.py10
-rw-r--r--tests/urlpatterns_reverse/named_urls_conflict.py18
-rw-r--r--tests/urlpatterns_reverse/namespace_urls.py54
-rw-r--r--tests/urlpatterns_reverse/nested_urls.py10
-rw-r--r--tests/urlpatterns_reverse/reverse_lazy_urls.py10
-rw-r--r--tests/urlpatterns_reverse/tests.py30
-rw-r--r--tests/urlpatterns_reverse/urlconf_inner.py4
-rw-r--r--tests/urlpatterns_reverse/urlconf_outer.py6
-rw-r--r--tests/urlpatterns_reverse/urls.py116
-rw-r--r--tests/urlpatterns_reverse/urls_without_handlers.py6
-rw-r--r--tests/urlpatterns_reverse/utils.py8
21 files changed, 182 insertions, 182 deletions
diff --git a/tests/urlpatterns_reverse/erroneous_urls.py b/tests/urlpatterns_reverse/erroneous_urls.py
index 4d75b49e8f..d8ccf2fc61 100644
--- a/tests/urlpatterns_reverse/erroneous_urls.py
+++ b/tests/urlpatterns_reverse/erroneous_urls.py
@@ -1,7 +1,7 @@
-from django.conf.urls import url
+from django.urls import re_path
from . import views
urlpatterns = [
- url(r'(regex_error/$', views.empty_view),
+ re_path(r'(regex_error/$', views.empty_view),
]
diff --git a/tests/urlpatterns_reverse/extra_urls.py b/tests/urlpatterns_reverse/extra_urls.py
index d9c518c219..dac9a87fd2 100644
--- a/tests/urlpatterns_reverse/extra_urls.py
+++ b/tests/urlpatterns_reverse/extra_urls.py
@@ -2,13 +2,13 @@
Some extra URL patterns that are included at the top level.
"""
-from django.conf.urls import include, url
+from django.urls import include, path, re_path
from .views import empty_view
urlpatterns = [
- url(r'^e-places/([0-9]+)/$', empty_view, name='extra-places'),
- url(r'^e-people/(?P<name>\w+)/$', empty_view, name="extra-people"),
- url('', include('urlpatterns_reverse.included_urls2')),
- url(r'^prefix/(?P<prefix>\w+)/', include('urlpatterns_reverse.included_urls2')),
+ re_path('^e-places/([0-9]+)/$', empty_view, name='extra-places'),
+ re_path(r'^e-people/(?P<name>\w+)/$', empty_view, name='extra-people'),
+ path('', include('urlpatterns_reverse.included_urls2')),
+ re_path(r'^prefix/(?P<prefix>\w+)/', include('urlpatterns_reverse.included_urls2')),
]
diff --git a/tests/urlpatterns_reverse/included_app_urls.py b/tests/urlpatterns_reverse/included_app_urls.py
index 570d6fc518..e8c0469143 100644
--- a/tests/urlpatterns_reverse/included_app_urls.py
+++ b/tests/urlpatterns_reverse/included_app_urls.py
@@ -1,16 +1,16 @@
-from django.conf.urls import url
+from django.urls import path, re_path
from . import views
app_name = 'inc-app'
urlpatterns = [
- url(r'^normal/$', views.empty_view, name='inc-normal-view'),
- url(r'^normal/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.empty_view, name='inc-normal-view'),
+ path('normal/', views.empty_view, name='inc-normal-view'),
+ re_path('^normal/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.empty_view, name='inc-normal-view'),
- url(r'^\+\\\$\*/$', views.empty_view, name='inc-special-view'),
+ re_path(r'^\+\\\$\*/$', views.empty_view, name='inc-special-view'),
- url(r'^mixed_args/([0-9]+)/(?P<arg2>[0-9]+)/$', views.empty_view, name='inc-mixed-args'),
- url(r'^no_kwargs/([0-9]+)/([0-9]+)/$', views.empty_view, name='inc-no-kwargs'),
+ re_path('^mixed_args/([0-9]+)/(?P<arg2>[0-9]+)/$', views.empty_view, name='inc-mixed-args'),
+ re_path('^no_kwargs/([0-9]+)/([0-9]+)/$', views.empty_view, name='inc-no-kwargs'),
- url(r'^view_class/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.view_class_instance, name='inc-view-class'),
+ re_path('^view_class/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.view_class_instance, name='inc-view-class'),
]
diff --git a/tests/urlpatterns_reverse/included_named_urls.py b/tests/urlpatterns_reverse/included_named_urls.py
index fac37ef714..e0b00dd4ed 100644
--- a/tests/urlpatterns_reverse/included_named_urls.py
+++ b/tests/urlpatterns_reverse/included_named_urls.py
@@ -1,10 +1,10 @@
-from django.conf.urls import include, url
+from django.urls import include, path, re_path
from .views import empty_view
urlpatterns = [
- url(r'^$', empty_view, name="named-url3"),
- url(r'^extra/(?P<extra>\w+)/$', empty_view, name="named-url4"),
- url(r'^(?P<one>[0-9]+)|(?P<two>[0-9]+)/$', empty_view),
- url(r'^included/', include('urlpatterns_reverse.included_named_urls2')),
+ path('', empty_view, name="named-url3"),
+ re_path(r'^extra/(?P<extra>\w+)/$', empty_view, name="named-url4"),
+ re_path(r'^(?P<one>[0-9]+)|(?P<two>[0-9]+)/$', empty_view),
+ path('included/', include('urlpatterns_reverse.included_named_urls2')),
]
diff --git a/tests/urlpatterns_reverse/included_named_urls2.py b/tests/urlpatterns_reverse/included_named_urls2.py
index 4d617c3790..d8103eae04 100644
--- a/tests/urlpatterns_reverse/included_named_urls2.py
+++ b/tests/urlpatterns_reverse/included_named_urls2.py
@@ -1,9 +1,9 @@
-from django.conf.urls import url
+from django.urls import path, re_path
from .views import empty_view
urlpatterns = [
- url(r'^$', empty_view, name="named-url5"),
- url(r'^extra/(?P<extra>\w+)/$', empty_view, name="named-url6"),
- url(r'^(?P<one>[0-9]+)|(?P<two>[0-9]+)/$', empty_view),
+ path('', empty_view, name="named-url5"),
+ re_path(r'^extra/(?P<extra>\w+)/$', empty_view, name="named-url6"),
+ re_path(r'^(?P<one>[0-9]+)|(?P<two>[0-9]+)/$', empty_view),
]
diff --git a/tests/urlpatterns_reverse/included_namespace_urls.py b/tests/urlpatterns_reverse/included_namespace_urls.py
index 75b0bf1971..0b3b2b5a19 100644
--- a/tests/urlpatterns_reverse/included_namespace_urls.py
+++ b/tests/urlpatterns_reverse/included_namespace_urls.py
@@ -1,4 +1,4 @@
-from django.conf.urls import include, url
+from django.urls import include, path, re_path
from .utils import URLObject
from .views import empty_view, view_class_instance
@@ -8,18 +8,18 @@ testobj4 = URLObject('testapp', 'test-ns4')
app_name = 'included_namespace_urls'
urlpatterns = [
- url(r'^normal/$', empty_view, name='inc-normal-view'),
- url(r'^normal/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', empty_view, name='inc-normal-view'),
+ path('normal/', empty_view, name='inc-normal-view'),
+ re_path('^normal/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', empty_view, name='inc-normal-view'),
- url(r'^\+\\\$\*/$', empty_view, name='inc-special-view'),
+ re_path(r'^\+\\\$\*/$', empty_view, name='inc-special-view'),
- url(r'^mixed_args/([0-9]+)/(?P<arg2>[0-9]+)/$', empty_view, name='inc-mixed-args'),
- url(r'^no_kwargs/([0-9]+)/([0-9]+)/$', empty_view, name='inc-no-kwargs'),
+ re_path('^mixed_args/([0-9]+)/(?P<arg2>[0-9]+)/$', empty_view, name='inc-mixed-args'),
+ re_path('^no_kwargs/([0-9]+)/([0-9]+)/$', empty_view, name='inc-no-kwargs'),
- url(r'^view_class/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', view_class_instance, name='inc-view-class'),
+ re_path('^view_class/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', view_class_instance, name='inc-view-class'),
- url(r'^test3/', include(*testobj3.urls)),
- url(r'^test4/', include(*testobj4.urls)),
- url(r'^ns-included3/', include(('urlpatterns_reverse.included_urls', 'included_urls'), namespace='inc-ns3')),
- url(r'^ns-included4/', include('urlpatterns_reverse.namespace_urls', namespace='inc-ns4')),
+ path('test3/', include(*testobj3.urls)),
+ path('test4/', include(*testobj4.urls)),
+ path('ns-included3/', include(('urlpatterns_reverse.included_urls', 'included_urls'), namespace='inc-ns3')),
+ path('ns-included4/', include('urlpatterns_reverse.namespace_urls', namespace='inc-ns4')),
]
diff --git a/tests/urlpatterns_reverse/included_no_kwargs_urls.py b/tests/urlpatterns_reverse/included_no_kwargs_urls.py
index f124a09b2f..aa1a1a51a7 100644
--- a/tests/urlpatterns_reverse/included_no_kwargs_urls.py
+++ b/tests/urlpatterns_reverse/included_no_kwargs_urls.py
@@ -1,7 +1,7 @@
-from django.conf.urls import url
+from django.urls import re_path
from .views import empty_view
urlpatterns = [
- url(r'^inner-no-kwargs/([0-9]+)/', empty_view, name="inner-no-kwargs")
+ re_path('^inner-no-kwargs/([0-9]+)/$', empty_view, name="inner-no-kwargs")
]
diff --git a/tests/urlpatterns_reverse/included_urls.py b/tests/urlpatterns_reverse/included_urls.py
index 240d9e5665..f34010b28f 100644
--- a/tests/urlpatterns_reverse/included_urls.py
+++ b/tests/urlpatterns_reverse/included_urls.py
@@ -1,9 +1,9 @@
-from django.conf.urls import url
+from django.urls import path, re_path
from .views import empty_view
urlpatterns = [
- url(r'^$', empty_view, name="inner-nothing"),
- url(r'^extra/(?P<extra>\w+)/$', empty_view, name="inner-extra"),
- url(r'^(?P<one>[0-9]+)|(?P<two>[0-9]+)/$', empty_view, name="inner-disjunction"),
+ path('', empty_view, name='inner-nothing'),
+ re_path(r'extra/(?P<extra>\w+)/$', empty_view, name='inner-extra'),
+ re_path(r'(?P<one>[0-9]+)|(?P<two>[0-9]+)/$', empty_view, name='inner-disjunction'),
]
diff --git a/tests/urlpatterns_reverse/included_urls2.py b/tests/urlpatterns_reverse/included_urls2.py
index 4a4aef8d95..ec61aecce1 100644
--- a/tests/urlpatterns_reverse/included_urls2.py
+++ b/tests/urlpatterns_reverse/included_urls2.py
@@ -5,11 +5,11 @@ each name to resolve and Django must distinguish the possibilities based on the
argument list.
"""
-from django.conf.urls import url
+from django.urls import re_path
from .views import empty_view
urlpatterns = [
- url(r'^part/(?P<value>\w+)/$', empty_view, name="part"),
- url(r'^part2/(?:(?P<value>\w+)/)?$', empty_view, name="part2"),
+ re_path(r'^part/(?P<value>\w+)/$', empty_view, name='part'),
+ re_path(r'^part2/(?:(?P<value>\w+)/)?$', empty_view, name='part2'),
]
diff --git a/tests/urlpatterns_reverse/method_view_urls.py b/tests/urlpatterns_reverse/method_view_urls.py
index e91966b4ac..39c53433c8 100644
--- a/tests/urlpatterns_reverse/method_view_urls.py
+++ b/tests/urlpatterns_reverse/method_view_urls.py
@@ -1,4 +1,4 @@
-from django.conf.urls import url
+from django.urls import path
class ViewContainer:
@@ -14,6 +14,6 @@ view_container = ViewContainer()
urlpatterns = [
- url(r'^$', view_container.method_view, name='instance-method-url'),
- url(r'^$', ViewContainer.classmethod_view, name='instance-method-url'),
+ path('', view_container.method_view, name='instance-method-url'),
+ path('', ViewContainer.classmethod_view, name='instance-method-url'),
]
diff --git a/tests/urlpatterns_reverse/named_urls.py b/tests/urlpatterns_reverse/named_urls.py
index 647c2630cf..06bb834dc7 100644
--- a/tests/urlpatterns_reverse/named_urls.py
+++ b/tests/urlpatterns_reverse/named_urls.py
@@ -1,10 +1,10 @@
-from django.conf.urls import include, url
+from django.urls import include, path, re_path
from .views import empty_view
urlpatterns = [
- url(r'^$', empty_view, name="named-url1"),
- url(r'^extra/(?P<extra>\w+)/$', empty_view, name="named-url2"),
- url(r'^(?P<one>[0-9]+)|(?P<two>[0-9]+)/$', empty_view),
- url(r'^included/', include('urlpatterns_reverse.included_named_urls')),
+ path('', empty_view, name='named-url1'),
+ re_path(r'^extra/(?P<extra>\w+)/$', empty_view, name='named-url2'),
+ re_path(r'^(?P<one>[0-9]+)|(?P<two>[0-9]+)/$', empty_view),
+ path('included/', include('urlpatterns_reverse.included_named_urls')),
]
diff --git a/tests/urlpatterns_reverse/named_urls_conflict.py b/tests/urlpatterns_reverse/named_urls_conflict.py
index 0c0c6eb47e..b1f883271f 100644
--- a/tests/urlpatterns_reverse/named_urls_conflict.py
+++ b/tests/urlpatterns_reverse/named_urls_conflict.py
@@ -1,17 +1,17 @@
-from django.conf.urls import url
+from django.urls import path, re_path
from .views import empty_view
urlpatterns = [
# No kwargs
- url(r'^conflict/cannot-go-here/$', empty_view, name='name-conflict'),
- url(r'^conflict/$', empty_view, name='name-conflict'),
+ path('conflict/cannot-go-here/', empty_view, name='name-conflict'),
+ path('conflict/', empty_view, name='name-conflict'),
# One kwarg
- url(r'^conflict-first/(?P<first>\w+)/$', empty_view, name='name-conflict'),
- url(r'^conflict-cannot-go-here/(?P<middle>\w+)/$', empty_view, name='name-conflict'),
- url(r'^conflict-middle/(?P<middle>\w+)/$', empty_view, name='name-conflict'),
- url(r'^conflict-last/(?P<last>\w+)/$', empty_view, name='name-conflict'),
+ re_path(r'^conflict-first/(?P<first>\w+)/$', empty_view, name='name-conflict'),
+ re_path(r'^conflict-cannot-go-here/(?P<middle>\w+)/$', empty_view, name='name-conflict'),
+ re_path(r'^conflict-middle/(?P<middle>\w+)/$', empty_view, name='name-conflict'),
+ re_path(r'^conflict-last/(?P<last>\w+)/$', empty_view, name='name-conflict'),
# Two kwargs
- url(r'^conflict/(?P<another>\w+)/(?P<extra>\w+)/cannot-go-here/$', empty_view, name='name-conflict'),
- url(r'^conflict/(?P<extra>\w+)/(?P<another>\w+)/$', empty_view, name='name-conflict'),
+ re_path(r'^conflict/(?P<another>\w+)/(?P<extra>\w+)/cannot-go-here/$', empty_view, name='name-conflict'),
+ re_path(r'^conflict/(?P<extra>\w+)/(?P<another>\w+)/$', empty_view, name='name-conflict'),
]
diff --git a/tests/urlpatterns_reverse/namespace_urls.py b/tests/urlpatterns_reverse/namespace_urls.py
index a92df2716a..a8fd7bb878 100644
--- a/tests/urlpatterns_reverse/namespace_urls.py
+++ b/tests/urlpatterns_reverse/namespace_urls.py
@@ -1,4 +1,4 @@
-from django.conf.urls import include, url
+from django.urls import include, path, re_path
from . import views
from .utils import URLObject
@@ -14,48 +14,48 @@ newappobj1 = URLObject('newapp')
app_name = 'namespace_urls'
urlpatterns = [
- url(r'^normal/$', views.empty_view, name='normal-view'),
- url(r'^normal/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.empty_view, name='normal-view'),
- url(r'^resolver_match/$', views.pass_resolver_match_view, name='test-resolver-match'),
+ path('normal/', views.empty_view, name='normal-view'),
+ re_path(r'^normal/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.empty_view, name='normal-view'),
+ path('resolver_match/', views.pass_resolver_match_view, name='test-resolver-match'),
- url(r'^\+\\\$\*/$', views.empty_view, name='special-view'),
+ re_path(r'^\+\\\$\*/$', views.empty_view, name='special-view'),
- url(r'^mixed_args/([0-9]+)/(?P<arg2>[0-9]+)/$', views.empty_view, name='mixed-args'),
- url(r'^no_kwargs/([0-9]+)/([0-9]+)/$', views.empty_view, name='no-kwargs'),
+ re_path(r'^mixed_args/([0-9]+)/(?P<arg2>[0-9]+)/$', views.empty_view, name='mixed-args'),
+ re_path(r'^no_kwargs/([0-9]+)/([0-9]+)/$', views.empty_view, name='no-kwargs'),
- url(r'^view_class/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.view_class_instance, name='view-class'),
+ re_path(r'^view_class/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.view_class_instance, name='view-class'),
- url(r'^unnamed/normal/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.empty_view),
- url(r'^unnamed/view_class/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.view_class_instance),
+ re_path(r'^unnamed/normal/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.empty_view),
+ re_path(r'^unnamed/view_class/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.view_class_instance),
- url(r'^test1/', include(*testobj1.urls)),
- url(r'^test2/', include(*testobj2.urls)),
- url(r'^default/', include(*default_testobj.urls)),
+ path('test1/', include(*testobj1.urls)),
+ path('test2/', include(*testobj2.urls)),
+ path('default/', include(*default_testobj.urls)),
- url(r'^other1/', include(*otherobj1.urls)),
- url(r'^other[246]/', include(*otherobj2.urls)),
+ path('other1/', include(*otherobj1.urls)),
+ re_path(r'^other[246]/', include(*otherobj2.urls)),
- url(r'^newapp1/', include(newappobj1.app_urls, 'new-ns1')),
- url(r'^new-default/', include(newappobj1.app_urls)),
+ path('newapp1/', include(newappobj1.app_urls, 'new-ns1')),
+ path('new-default/', include(newappobj1.app_urls)),
- url(r'^app-included[135]/', include('urlpatterns_reverse.included_app_urls', namespace='app-ns1')),
- url(r'^app-included2/', include('urlpatterns_reverse.included_app_urls', namespace='app-ns2')),
+ re_path(r'^app-included[135]/', include('urlpatterns_reverse.included_app_urls', namespace='app-ns1')),
+ path('app-included2/', include('urlpatterns_reverse.included_app_urls', namespace='app-ns2')),
- url(r'^ns-included[135]/', include('urlpatterns_reverse.included_namespace_urls', namespace='inc-ns1')),
- url(r'^ns-included2/', include('urlpatterns_reverse.included_namespace_urls', namespace='inc-ns2')),
+ re_path(r'^ns-included[135]/', include('urlpatterns_reverse.included_namespace_urls', namespace='inc-ns1')),
+ path('ns-included2/', include('urlpatterns_reverse.included_namespace_urls', namespace='inc-ns2')),
- url(r'^app-included/', include('urlpatterns_reverse.included_namespace_urls', 'inc-app')),
+ path('app-included/', include('urlpatterns_reverse.included_namespace_urls', 'inc-app')),
- url(r'^included/', include('urlpatterns_reverse.included_namespace_urls')),
- url(
+ path('included/', include('urlpatterns_reverse.included_namespace_urls')),
+ re_path(
r'^inc(?P<outer>[0-9]+)/', include(('urlpatterns_reverse.included_urls', 'included_urls'), namespace='inc-ns5')
),
- url(r'^included/([0-9]+)/', include('urlpatterns_reverse.included_namespace_urls')),
+ re_path(r'^included/([0-9]+)/', include('urlpatterns_reverse.included_namespace_urls')),
- url(
+ re_path(
r'^ns-outer/(?P<outer>[0-9]+)/',
include('urlpatterns_reverse.included_namespace_urls', namespace='inc-outer')
),
- url(r'^\+\\\$\*/', include('urlpatterns_reverse.namespace_urls', namespace='special')),
+ re_path(r'^\+\\\$\*/', include('urlpatterns_reverse.namespace_urls', namespace='special')),
]
diff --git a/tests/urlpatterns_reverse/nested_urls.py b/tests/urlpatterns_reverse/nested_urls.py
index f41b1449a8..d5af7d0d02 100644
--- a/tests/urlpatterns_reverse/nested_urls.py
+++ b/tests/urlpatterns_reverse/nested_urls.py
@@ -1,4 +1,4 @@
-from django.conf.urls import include, url
+from django.urls import include, path
from django.views import View
@@ -15,11 +15,11 @@ class View3(View):
nested = ([
- url(r'^view1/$', view1, name='view1'),
- url(r'^view3/$', View3.as_view(), name='view3'),
+ path('view1/', view1, name='view1'),
+ path('view3/', View3.as_view(), name='view3'),
], 'backend')
urlpatterns = [
- url(r'^some/path/', include(nested, namespace='nested')),
- url(r'^view2/$', view2, name='view2'),
+ path('some/path/', include(nested, namespace='nested')),
+ path('view2/', view2, name='view2'),
]
diff --git a/tests/urlpatterns_reverse/reverse_lazy_urls.py b/tests/urlpatterns_reverse/reverse_lazy_urls.py
index 694b23fad6..1cbda44fe9 100644
--- a/tests/urlpatterns_reverse/reverse_lazy_urls.py
+++ b/tests/urlpatterns_reverse/reverse_lazy_urls.py
@@ -1,10 +1,10 @@
-from django.conf.urls import url
+from django.urls import path
from .views import LazyRedirectView, empty_view, login_required_view
urlpatterns = [
- url(r'^redirected_to/$', empty_view, name='named-lazy-url-redirected-to'),
- url(r'^login/$', empty_view, name='some-login-page'),
- url(r'^login_required_view/$', login_required_view),
- url(r'^redirect/$', LazyRedirectView.as_view()),
+ path('redirected_to/', empty_view, name='named-lazy-url-redirected-to'),
+ path('login/', empty_view, name='some-login-page'),
+ path('login_required_view/', login_required_view),
+ path('redirect/', LazyRedirectView.as_view()),
]
diff --git a/tests/urlpatterns_reverse/tests.py b/tests/urlpatterns_reverse/tests.py
index 61dbd208b7..f902cffdac 100644
--- a/tests/urlpatterns_reverse/tests.py
+++ b/tests/urlpatterns_reverse/tests.py
@@ -7,7 +7,6 @@ import threading
from admin_scripts.tests import AdminScriptTestCase
from django.conf import settings
-from django.conf.urls import include, url
from django.contrib.auth.models import User
from django.core.exceptions import ImproperlyConfigured, ViewDoesNotExist
from django.http import (
@@ -18,7 +17,8 @@ from django.test import SimpleTestCase, TestCase, override_settings
from django.test.utils import override_script_prefix
from django.urls import (
NoReverseMatch, Resolver404, ResolverMatch, URLPattern, URLResolver,
- get_callable, get_resolver, get_urlconf, resolve, reverse, reverse_lazy,
+ get_callable, get_resolver, get_urlconf, include, path, re_path, resolve,
+ reverse, reverse_lazy,
)
from django.urls.resolvers import RegexPattern
@@ -401,7 +401,7 @@ class ResolverTests(SimpleTestCase):
def test_resolver_reverse_conflict(self):
"""
- url() name arguments don't need to be unique. The last registered
+ URL pattern name arguments don't need to be unique. The last registered
pattern takes precedence for conflicting names.
"""
resolver = get_resolver('urlpatterns_reverse.named_urls_conflict')
@@ -411,7 +411,7 @@ class ResolverTests(SimpleTestCase):
('name-conflict', (), {}, 'conflict/'),
# With an arg, the last URL in urlpatterns has precedence.
('name-conflict', ('arg',), {}, 'conflict-last/arg/'),
- # With a kwarg, other url()s can be reversed.
+ # With a kwarg, other URL patterns can be reversed.
('name-conflict', (), {'first': 'arg'}, 'conflict-first/arg/'),
('name-conflict', (), {'middle': 'arg'}, 'conflict-middle/arg/'),
('name-conflict', (), {'last': 'arg'}, 'conflict-last/arg/'),
@@ -430,10 +430,10 @@ class ResolverTests(SimpleTestCase):
TypeError from occurring later (#10834).
"""
test_urls = ['', 'a', '\\', '.']
- for path in test_urls:
- with self.subTest(path=path):
+ for path_ in test_urls:
+ with self.subTest(path=path_):
with self.assertRaises(Resolver404):
- resolve(path)
+ resolve(path_)
def test_404_tried_urls_have_names(self):
"""
@@ -1094,15 +1094,15 @@ class NoRootUrlConfTests(SimpleTestCase):
class ResolverMatchTests(SimpleTestCase):
def test_urlpattern_resolve(self):
- for path, url_name, app_name, namespace, view_name, func, args, kwargs in resolve_test_data:
- with self.subTest(path=path):
+ for path_, url_name, app_name, namespace, view_name, func, args, kwargs in resolve_test_data:
+ with self.subTest(path=path_):
# Legacy support for extracting "function, args, kwargs".
- match_func, match_args, match_kwargs = resolve(path)
+ match_func, match_args, match_kwargs = resolve(path_)
self.assertEqual(match_func, func)
self.assertEqual(match_args, args)
self.assertEqual(match_kwargs, kwargs)
# ResolverMatch capabilities.
- match = resolve(path)
+ match = resolve(path_)
self.assertEqual(match.__class__, ResolverMatch)
self.assertEqual(match.url_name, url_name)
self.assertEqual(match.app_name, app_name)
@@ -1140,7 +1140,7 @@ class ErroneousViewTests(SimpleTestCase):
def test_noncallable_view(self):
# View is not a callable (explicit import; arbitrary Python object)
with self.assertRaisesMessage(TypeError, 'view must be a callable'):
- url(r'uncallable-object/$', views.uncallable)
+ path('uncallable-object/', views.uncallable)
def test_invalid_regex(self):
# Regex contains an error (refs #6170)
@@ -1194,9 +1194,9 @@ class ViewLoadingTests(SimpleTestCase):
class IncludeTests(SimpleTestCase):
url_patterns = [
- url(r'^inner/$', views.empty_view, name='urlobject-view'),
- url(r'^inner/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.empty_view, name='urlobject-view'),
- url(r'^inner/\+\\\$\*/$', views.empty_view, name='urlobject-special-view'),
+ path('inner/', views.empty_view, name='urlobject-view'),
+ re_path(r'^inner/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.empty_view, name='urlobject-view'),
+ re_path(r'^inner/\+\\\$\*/$', views.empty_view, name='urlobject-special-view'),
]
app_urls = URLObject('inc-app')
diff --git a/tests/urlpatterns_reverse/urlconf_inner.py b/tests/urlpatterns_reverse/urlconf_inner.py
index e2c7b7bf80..6ea4e90f20 100644
--- a/tests/urlpatterns_reverse/urlconf_inner.py
+++ b/tests/urlpatterns_reverse/urlconf_inner.py
@@ -1,6 +1,6 @@
-from django.conf.urls import url
from django.http import HttpResponse
from django.template import Context, Template
+from django.urls import path
def inner_view(request):
@@ -10,5 +10,5 @@ def inner_view(request):
urlpatterns = [
- url(r'^second_test/$', inner_view, name='inner'),
+ path('second_test/', inner_view, name='inner'),
]
diff --git a/tests/urlpatterns_reverse/urlconf_outer.py b/tests/urlpatterns_reverse/urlconf_outer.py
index 65cf507aa4..100b1f52b1 100644
--- a/tests/urlpatterns_reverse/urlconf_outer.py
+++ b/tests/urlpatterns_reverse/urlconf_outer.py
@@ -1,8 +1,8 @@
-from django.conf.urls import include, url
+from django.urls import include, path
from . import urlconf_inner
urlpatterns = [
- url(r'^test/me/$', urlconf_inner.inner_view, name='outer'),
- url(r'^inner_urlconf/', include(urlconf_inner.__name__))
+ path('test/me/', urlconf_inner.inner_view, name='outer'),
+ path('inner_urlconf/', include(urlconf_inner.__name__))
]
diff --git a/tests/urlpatterns_reverse/urls.py b/tests/urlpatterns_reverse/urls.py
index 731c97146b..f3c27b8e13 100644
--- a/tests/urlpatterns_reverse/urls.py
+++ b/tests/urlpatterns_reverse/urls.py
@@ -1,4 +1,4 @@
-from django.conf.urls import include, url
+from django.urls import include, path, re_path
from .views import (
absolute_kwargs_view, defaults_view, empty_view, empty_view_nested_partial,
@@ -6,74 +6,74 @@ from .views import (
)
other_patterns = [
- url(r'non_path_include/$', empty_view, name='non_path_include'),
- url(r'nested_path/$', nested_view),
+ path('non_path_include/', empty_view, name='non_path_include'),
+ path('nested_path/', nested_view),
]
urlpatterns = [
- url(r'^places/([0-9]+)/$', empty_view, name='places'),
- url(r'^places?/$', empty_view, name="places?"),
- url(r'^places+/$', empty_view, name="places+"),
- url(r'^places*/$', empty_view, name="places*"),
- url(r'^(?:places/)?$', empty_view, name="places2?"),
- url(r'^(?:places/)+$', empty_view, name="places2+"),
- url(r'^(?:places/)*$', empty_view, name="places2*"),
- url(r'^places/([0-9]+|[a-z_]+)/', empty_view, name="places3"),
- url(r'^places/(?P<id>[0-9]+)/$', empty_view, name="places4"),
- url(r'^people/(?P<name>\w+)/$', empty_view, name="people"),
- url(r'^people/(?:name/)', empty_view, name="people2"),
- url(r'^people/(?:name/(\w+)/)?', empty_view, name="people2a"),
- url(r'^people/(?P<name>\w+)-(?P=name)/$', empty_view, name="people_backref"),
- url(r'^optional/(?P<name>.*)/(?:.+/)?', empty_view, name="optional"),
- url(r'^optional/(?P<arg1>\d+)/(?:(?P<arg2>\d+)/)?', absolute_kwargs_view, name="named_optional"),
- url(r'^optional/(?P<arg1>\d+)/(?:(?P<arg2>\d+)/)?$', absolute_kwargs_view, name="named_optional_terminated"),
- url(r'^nested/noncapture/(?:(?P<p>\w+))$', empty_view, name='nested-noncapture'),
- url(r'^nested/capture/((\w+)/)?$', empty_view, name='nested-capture'),
- url(r'^nested/capture/mixed/((?P<p>\w+))$', empty_view, name='nested-mixedcapture'),
- url(r'^nested/capture/named/(?P<outer>(?P<inner>\w+)/)?$', empty_view, name='nested-namedcapture'),
- url(r'^hardcoded/$', empty_view, name="hardcoded"),
- url(r'^hardcoded/doc\.pdf$', empty_view, name="hardcoded2"),
- url(r'^people/(?P<state>\w\w)/(?P<name>\w+)/$', empty_view, name="people3"),
- url(r'^people/(?P<state>\w\w)/(?P<name>[0-9])/$', empty_view, name="people4"),
- url(r'^people/((?P<state>\w\w)/test)?/(\w+)/$', empty_view, name="people6"),
- url(r'^character_set/[abcdef0-9]/$', empty_view, name="range"),
- url(r'^character_set/[\w]/$', empty_view, name="range2"),
- url(r'^price/\$([0-9]+)/$', empty_view, name="price"),
- url(r'^price/[$]([0-9]+)/$', empty_view, name="price2"),
- url(r'^price/[\$]([0-9]+)/$', empty_view, name="price3"),
- url(r'^product/(?P<product>\w+)\+\(\$(?P<price>[0-9]+(\.[0-9]+)?)\)/$', empty_view, name="product"),
- url(r'^headlines/(?P<year>[0-9]+)\.(?P<month>[0-9]+)\.(?P<day>[0-9]+)/$', empty_view, name="headlines"),
- url(r'^windows_path/(?P<drive_name>[A-Z]):\\(?P<path>.+)/$', empty_view, name="windows"),
- url(r'^special_chars/(?P<chars>.+)/$', empty_view, name="special"),
- url(r'^(?P<name>.+)/[0-9]+/$', empty_view, name="mixed"),
- url(r'^repeats/a{1,2}/$', empty_view, name="repeats"),
- url(r'^repeats/a{2,4}/$', empty_view, name="repeats2"),
- url(r'^repeats/a{2}/$', empty_view, name="repeats3"),
- url(r'^test/1/?', empty_view, name="test"),
- url(r'^outer/(?P<outer>[0-9]+)/', include('urlpatterns_reverse.included_urls')),
- url(r'^outer-no-kwargs/([0-9]+)/', include('urlpatterns_reverse.included_no_kwargs_urls')),
- url('', include('urlpatterns_reverse.extra_urls')),
- url(r'^lookahead-/(?!not-a-city)(?P<city>[^/]+)/$', empty_view, name='lookahead-negative'),
- url(r'^lookahead\+/(?=a-city)(?P<city>[^/]+)/$', empty_view, name='lookahead-positive'),
- url(r'^lookbehind-/(?P<city>[^/]+)(?<!not-a-city)/$', empty_view, name='lookbehind-negative'),
- url(r'^lookbehind\+/(?P<city>[^/]+)(?<=a-city)/$', empty_view, name='lookbehind-positive'),
+ re_path(r'^places/([0-9]+)/$', empty_view, name='places'),
+ re_path(r'^places?/$', empty_view, name='places?'),
+ re_path(r'^places+/$', empty_view, name='places+'),
+ re_path(r'^places*/$', empty_view, name='places*'),
+ re_path(r'^(?:places/)?$', empty_view, name='places2?'),
+ re_path(r'^(?:places/)+$', empty_view, name='places2+'),
+ re_path(r'^(?:places/)*$', empty_view, name='places2*'),
+ re_path(r'^places/([0-9]+|[a-z_]+)/', empty_view, name='places3'),
+ re_path(r'^places/(?P<id>[0-9]+)/$', empty_view, name='places4'),
+ re_path(r'^people/(?P<name>\w+)/$', empty_view, name='people'),
+ re_path(r'^people/(?:name/)$', empty_view, name='people2'),
+ re_path(r'^people/(?:name/(\w+)/)?$', empty_view, name='people2a'),
+ re_path(r'^people/(?P<name>\w+)-(?P=name)/$', empty_view, name='people_backref'),
+ re_path(r'^optional/(?P<name>.*)/(?:.+/)?', empty_view, name='optional'),
+ re_path(r'^optional/(?P<arg1>\d+)/(?:(?P<arg2>\d+)/)?', absolute_kwargs_view, name='named_optional'),
+ re_path(r'^optional/(?P<arg1>\d+)/(?:(?P<arg2>\d+)/)?$', absolute_kwargs_view, name='named_optional_terminated'),
+ re_path(r'^nested/noncapture/(?:(?P<p>\w+))$', empty_view, name='nested-noncapture'),
+ re_path(r'^nested/capture/((\w+)/)?$', empty_view, name='nested-capture'),
+ re_path(r'^nested/capture/mixed/((?P<p>\w+))$', empty_view, name='nested-mixedcapture'),
+ re_path(r'^nested/capture/named/(?P<outer>(?P<inner>\w+)/)?$', empty_view, name='nested-namedcapture'),
+ re_path(r'^hardcoded/$', empty_view, name='hardcoded'),
+ re_path(r'^hardcoded/doc\.pdf$', empty_view, name='hardcoded2'),
+ re_path(r'^people/(?P<state>\w\w)/(?P<name>\w+)/$', empty_view, name='people3'),
+ re_path(r'^people/(?P<state>\w\w)/(?P<name>[0-9])/$', empty_view, name='people4'),
+ re_path(r'^people/((?P<state>\w\w)/test)?/(\w+)/$', empty_view, name='people6'),
+ re_path(r'^character_set/[abcdef0-9]/$', empty_view, name='range'),
+ re_path(r'^character_set/[\w]/$', empty_view, name='range2'),
+ re_path(r'^price/\$([0-9]+)/$', empty_view, name='price'),
+ re_path(r'^price/[$]([0-9]+)/$', empty_view, name='price2'),
+ re_path(r'^price/[\$]([0-9]+)/$', empty_view, name='price3'),
+ re_path(r'^product/(?P<product>\w+)\+\(\$(?P<price>[0-9]+(\.[0-9]+)?)\)/$', empty_view, name='product'),
+ re_path(r'^headlines/(?P<year>[0-9]+)\.(?P<month>[0-9]+)\.(?P<day>[0-9]+)/$', empty_view, name='headlines'),
+ re_path(r'^windows_path/(?P<drive_name>[A-Z]):\\(?P<path>.+)/$', empty_view, name='windows'),
+ re_path(r'^special_chars/(?P<chars>.+)/$', empty_view, name='special'),
+ re_path(r'^(?P<name>.+)/[0-9]+/$', empty_view, name='mixed'),
+ re_path(r'^repeats/a{1,2}/$', empty_view, name='repeats'),
+ re_path(r'^repeats/a{2,4}/$', empty_view, name='repeats2'),
+ re_path(r'^repeats/a{2}/$', empty_view, name='repeats3'),
+ re_path(r'^test/1/?', empty_view, name='test'),
+ re_path(r'^outer/(?P<outer>[0-9]+)/', include('urlpatterns_reverse.included_urls')),
+ re_path(r'^outer-no-kwargs/([0-9]+)/', include('urlpatterns_reverse.included_no_kwargs_urls')),
+ re_path('', include('urlpatterns_reverse.extra_urls')),
+ re_path(r'^lookahead-/(?!not-a-city)(?P<city>[^/]+)/$', empty_view, name='lookahead-negative'),
+ re_path(r'^lookahead\+/(?=a-city)(?P<city>[^/]+)/$', empty_view, name='lookahead-positive'),
+ re_path(r'^lookbehind-/(?P<city>[^/]+)(?<!not-a-city)/$', empty_view, name='lookbehind-negative'),
+ re_path(r'^lookbehind\+/(?P<city>[^/]+)(?<=a-city)/$', empty_view, name='lookbehind-positive'),
# Partials should be fine.
- url(r'^partial/', empty_view_partial, name="partial"),
- url(r'^partial_nested/', empty_view_nested_partial, name="partial_nested"),
- url(r'^partial_wrapped/', empty_view_wrapped, name="partial_wrapped"),
+ path('partial/', empty_view_partial, name='partial'),
+ path('partial_nested/', empty_view_nested_partial, name='partial_nested'),
+ path('partial_wrapped/', empty_view_wrapped, name='partial_wrapped'),
# This is non-reversible, but we shouldn't blow up when parsing it.
- url(r'^(?:foo|bar)(\w+)/$', empty_view, name="disjunction"),
+ re_path(r'^(?:foo|bar)(\w+)/$', empty_view, name='disjunction'),
- url(r'absolute_arg_view/$', absolute_kwargs_view),
+ path('absolute_arg_view/', absolute_kwargs_view),
# Tests for #13154. Mixed syntax to test both ways of defining URLs.
- url(r'defaults_view1/(?P<arg1>[0-9]+)/', defaults_view, {'arg2': 1}, name='defaults'),
- url(r'defaults_view2/(?P<arg1>[0-9]+)/', defaults_view, {'arg2': 2}, 'defaults'),
+ re_path(r'^defaults_view1/(?P<arg1>[0-9]+)/$', defaults_view, {'arg2': 1}, name='defaults'),
+ re_path(r'^defaults_view2/(?P<arg1>[0-9]+)/$', defaults_view, {'arg2': 2}, 'defaults'),
- url('^includes/', include(other_patterns)),
+ path('includes/', include(other_patterns)),
# Security tests
- url('(.+)/security/$', empty_view, name='security'),
+ re_path('(.+)/security/$', empty_view, name='security'),
]
diff --git a/tests/urlpatterns_reverse/urls_without_handlers.py b/tests/urlpatterns_reverse/urls_without_handlers.py
index 4c248cd0d9..65fb054e00 100644
--- a/tests/urlpatterns_reverse/urls_without_handlers.py
+++ b/tests/urlpatterns_reverse/urls_without_handlers.py
@@ -1,9 +1,9 @@
# A URLconf that doesn't define any handlerXXX.
-from django.conf.urls import url
+from django.urls import path
from .views import bad_view, empty_view
urlpatterns = [
- url(r'^test_view/$', empty_view, name="test_view"),
- url(r'^bad_view/$', bad_view, name="bad_view"),
+ path('test_view/', empty_view, name="test_view"),
+ path('bad_view/', bad_view, name="bad_view"),
]
diff --git a/tests/urlpatterns_reverse/utils.py b/tests/urlpatterns_reverse/utils.py
index 8c96d8ca72..c1f9a55913 100644
--- a/tests/urlpatterns_reverse/utils.py
+++ b/tests/urlpatterns_reverse/utils.py
@@ -1,13 +1,13 @@
-from django.conf.urls import url
+from django.urls import path, re_path
from . import views
class URLObject:
urlpatterns = [
- url(r'^inner/$', views.empty_view, name='urlobject-view'),
- url(r'^inner/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.empty_view, name='urlobject-view'),
- url(r'^inner/\+\\\$\*/$', views.empty_view, name='urlobject-special-view'),
+ path('inner/', views.empty_view, name='urlobject-view'),
+ re_path(r'^inner/(?P<arg1>[0-9]+)/(?P<arg2>[0-9]+)/$', views.empty_view, name='urlobject-view'),
+ re_path(r'^inner/\+\\\$\*/$', views.empty_view, name='urlobject-special-view'),
]
def __init__(self, app_name, namespace=None):