Commit d73d0e07 authored by Tim Graham's avatar Tim Graham
Browse files

Fixed #22218 -- Deprecated django.conf.urls.patterns.

Thanks Carl Meyer for the suggestion and Alex Gaynor and Carl for reviews.
parent e6ced2bb
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
from django.conf.urls import patterns, include, url
from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = patterns('',
urlpatterns = [
    # Examples:
    # url(r'^$', '{{ project_name }}.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
)
]
+8 −0
Original line number Diff line number Diff line
from importlib import import_module
import warnings

from django.core.urlresolvers import (RegexURLPattern,
    RegexURLResolver, LocaleRegexURLResolver)
from django.core.exceptions import ImproperlyConfigured
from django.utils import six
from django.utils.deprecation import RemovedInDjango20Warning


__all__ = ['handler400', 'handler403', 'handler404', 'handler500', 'include', 'patterns', 'url']
@@ -42,6 +44,12 @@ def include(arg, namespace=None, app_name=None):


def patterns(prefix, *args):
    warnings.warn(
        'django.conf.urls.patterns() is deprecated and will be removed in '
        'Django 2.0. Update your urlpatterns to be a list of '
        'django.conf.urls.url() instances instead.',
        RemovedInDjango20Warning, stacklevel=2
    )
    pattern_list = []
    for t in args:
        if isinstance(t, (list, tuple)):
+17 −4
Original line number Diff line number Diff line
import warnings

from django.conf import settings
from django.conf.urls import patterns, url
from django.core.urlresolvers import LocaleRegexURLResolver
from django.utils import six
from django.utils.deprecation import RemovedInDjango20Warning


def i18n_patterns(prefix, *args):
@@ -8,14 +12,23 @@ def i18n_patterns(prefix, *args):
    Adds the language code prefix to every URL pattern within this
    function. This may only be used in the root URLconf, not in an included
    URLconf.

    """
    if isinstance(prefix, (six.text_type, str)):
        warnings.warn(
            "Calling i18n_patterns() with the `prefix` argument and with tuples "
            "instead of django.conf.urls.url() instances is deprecated and "
            "will no longer work in Django 2.0. Use a list of "
            "django.conf.urls.url() instances instead.",
            RemovedInDjango20Warning, stacklevel=2
        )
        pattern_list = patterns(prefix, *args)
    else:
        pattern_list = [prefix] + list(args)
    if not settings.USE_I18N:
        return pattern_list
    return [LocaleRegexURLResolver(pattern_list)]


urlpatterns = patterns('',
urlpatterns = [
    url(r'^setlang/$', 'django.views.i18n.set_language', name='set_language'),
)
]
+5 −5
Original line number Diff line number Diff line
import re

from django.conf import settings
from django.conf.urls import patterns, url
from django.conf.urls import url
from django.core.exceptions import ImproperlyConfigured


@@ -12,9 +12,9 @@ def static(prefix, view='django.views.static.serve', **kwargs):
    from django.conf import settings
    from django.conf.urls.static import static

    urlpatterns = patterns('',
    urlpatterns = [
        # ... the rest of your URLconf goes here ...
    ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

    """
    # No-op if not in debug mode or an non-local prefix
@@ -22,6 +22,6 @@ def static(prefix, view='django.views.static.serve', **kwargs):
        return []
    elif not prefix:
        raise ImproperlyConfigured("Empty static prefix not permitted")
    return patterns('',
    return [
        url(r'^%s(?P<path>.*)$' % re.escape(prefix.lstrip('/')), view, kwargs=kwargs),
    )
    ]
+3 −3
Original line number Diff line number Diff line
@@ -543,7 +543,7 @@ class ModelAdmin(BaseModelAdmin):
        return inline_instances

    def get_urls(self):
        from django.conf.urls import patterns, url
        from django.conf.urls import url

        def wrap(view):
            def wrapper(*args, **kwargs):
@@ -552,13 +552,13 @@ class ModelAdmin(BaseModelAdmin):

        info = self.model._meta.app_label, self.model._meta.model_name

        urlpatterns = patterns('',
        urlpatterns = [
            url(r'^$', wrap(self.changelist_view), name='%s_%s_changelist' % info),
            url(r'^add/$', wrap(self.add_view), name='%s_%s_add' % info),
            url(r'^(.+)/history/$', wrap(self.history_view), name='%s_%s_history' % info),
            url(r'^(.+)/delete/$', wrap(self.delete_view), name='%s_%s_delete' % info),
            url(r'^(.+)/$', wrap(self.change_view), name='%s_%s_change' % info),
        )
        ]
        return urlpatterns

    def urls(self):
Loading