diff options
Diffstat (limited to 'django/conf')
| -rw-r--r-- | django/conf/project_template/project_name/urls.py-tpl | 12 | ||||
| -rw-r--r-- | django/conf/urls/__init__.py | 11 | ||||
| -rw-r--r-- | django/conf/urls/i18n.py | 16 | ||||
| -rw-r--r-- | django/conf/urls/static.py | 4 |
4 files changed, 20 insertions, 23 deletions
diff --git a/django/conf/project_template/project_name/urls.py-tpl b/django/conf/project_template/project_name/urls.py-tpl index 30ddffb876..e23d6a92ba 100644 --- a/django/conf/project_template/project_name/urls.py-tpl +++ b/django/conf/project_template/project_name/urls.py-tpl @@ -5,17 +5,17 @@ The `urlpatterns` list routes URLs to views. For more information please see: Examples: Function views 1. Add an import: from my_app import views - 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') + 2. Add a URL to urlpatterns: path('', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home - 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') Including another URLconf - 1. Import the include() function: from django.conf.urls import url, include - 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ -from django.conf.urls import url from django.contrib import admin +from django.urls import path urlpatterns = [ - url(r'^admin/', admin.site.urls), + path('admin/', admin.site.urls), ] diff --git a/django/conf/urls/__init__.py b/django/conf/urls/__init__.py index b7ad156122..7bda34516b 100644 --- a/django/conf/urls/__init__.py +++ b/django/conf/urls/__init__.py @@ -1,4 +1,4 @@ -from django.urls import RegexURLPattern, RegexURLResolver, include +from django.urls import include, re_path from django.views import defaults __all__ = ['handler400', 'handler403', 'handler404', 'handler500', 'include', 'url'] @@ -10,11 +10,4 @@ handler500 = defaults.server_error def url(regex, view, kwargs=None, name=None): - if isinstance(view, (list, tuple)): - # For include(...) processing. - urlconf_module, app_name, namespace = view - return RegexURLResolver(regex, urlconf_module, kwargs, app_name=app_name, namespace=namespace) - elif callable(view): - return RegexURLPattern(regex, view, kwargs, name) - else: - raise TypeError('view must be a callable or a list/tuple in the case of include().') + return re_path(regex, view, kwargs, name) diff --git a/django/conf/urls/i18n.py b/django/conf/urls/i18n.py index 70d99b4f29..325cc9e60e 100644 --- a/django/conf/urls/i18n.py +++ b/django/conf/urls/i18n.py @@ -1,8 +1,7 @@ import functools from django.conf import settings -from django.conf.urls import url -from django.urls import LocaleRegexURLResolver, get_resolver +from django.urls import LocalePrefixPattern, URLResolver, get_resolver, path from django.views.i18n import set_language @@ -13,7 +12,12 @@ def i18n_patterns(*urls, prefix_default_language=True): """ if not settings.USE_I18N: return list(urls) - return [LocaleRegexURLResolver(list(urls), prefix_default_language=prefix_default_language)] + return [ + URLResolver( + LocalePrefixPattern(prefix_default_language=prefix_default_language), + list(urls), + ) + ] @functools.lru_cache(maxsize=None) @@ -25,11 +29,11 @@ def is_language_prefix_patterns_used(urlconf): ) """ for url_pattern in get_resolver(urlconf).url_patterns: - if isinstance(url_pattern, LocaleRegexURLResolver): - return True, url_pattern.prefix_default_language + if isinstance(url_pattern.pattern, LocalePrefixPattern): + return True, url_pattern.pattern.prefix_default_language return False, False urlpatterns = [ - url(r'^setlang/$', set_language, name='set_language'), + path('setlang/', set_language, name='set_language'), ] diff --git a/django/conf/urls/static.py b/django/conf/urls/static.py index 216602229f..150f4ffd3f 100644 --- a/django/conf/urls/static.py +++ b/django/conf/urls/static.py @@ -1,8 +1,8 @@ import re from django.conf import settings -from django.conf.urls import url from django.core.exceptions import ImproperlyConfigured +from django.urls import re_path from django.views.static import serve @@ -23,5 +23,5 @@ def static(prefix, view=serve, **kwargs): # No-op if not in debug mode or a non-local prefix. return [] return [ - url(r'^%s(?P<path>.*)$' % re.escape(prefix.lstrip('/')), view, kwargs=kwargs), + re_path(r'^%s(?P<path>.*)$' % re.escape(prefix.lstrip('/')), view, kwargs=kwargs), ] |
