mirror of
https://github.com/django/django.git
synced 2024-12-22 17:16:24 +00:00
Fixed #31534 -- Deprecated django.conf.urls.url().
This commit is contained in:
parent
f2051eb8a7
commit
2522559d1a
@ -1,4 +1,7 @@
|
||||
import warnings
|
||||
|
||||
from django.urls import include, re_path
|
||||
from django.utils.deprecation import RemovedInDjango40Warning
|
||||
from django.views import defaults
|
||||
|
||||
__all__ = ['handler400', 'handler403', 'handler404', 'handler500', 'include', 'url']
|
||||
@ -10,4 +13,9 @@ handler500 = defaults.server_error
|
||||
|
||||
|
||||
def url(regex, view, kwargs=None, name=None):
|
||||
warnings.warn(
|
||||
'django.conf.urls.url() is deprecated in favor of '
|
||||
'django.urls.re_path().',
|
||||
RemovedInDjango40Warning,
|
||||
)
|
||||
return re_path(regex, view, kwargs, name)
|
||||
|
@ -196,8 +196,8 @@ class JavaScriptCatalog(View):
|
||||
Return the selected language catalog as a JavaScript library.
|
||||
|
||||
Receive the list of packages to check for translations in the `packages`
|
||||
kwarg either from the extra dictionary passed to the url() function or as a
|
||||
plus-sign delimited string from the request. Default is 'django.conf'.
|
||||
kwarg either from the extra dictionary passed to the path() function or as
|
||||
a plus-sign delimited string from the request. Default is 'django.conf'.
|
||||
|
||||
You can override the gettext domain for this view, but usually you don't
|
||||
want to do that as JavaScript messages go to the djangojs domain. This
|
||||
|
@ -81,6 +81,8 @@ details on these changes.
|
||||
* The model ``NullBooleanField`` will be removed. A stub field will remain for
|
||||
compatibility with historical migrations.
|
||||
|
||||
* ``django.conf.urls.url()`` will be removed.
|
||||
|
||||
See the :ref:`Django 3.1 release notes <deprecated-features-3.1>` for more
|
||||
details on these changes.
|
||||
|
||||
|
@ -141,8 +141,11 @@ Helper function to return a URL pattern for serving files in debug mode::
|
||||
|
||||
.. function:: url(regex, view, kwargs=None, name=None)
|
||||
|
||||
This function is an alias to :func:`django.urls.re_path()`. It's likely to be
|
||||
deprecated in a future release.
|
||||
This function is an alias to :func:`django.urls.re_path()`.
|
||||
|
||||
.. deprecated:: 3.1
|
||||
|
||||
Alias of :func:`django.urls.re_path` for backwards compatibility.
|
||||
|
||||
``handler400``
|
||||
==============
|
||||
|
@ -916,7 +916,7 @@ Miscellaneous
|
||||
* :ref:`Authentication views <built-in-auth-views>` are now reversed by name,
|
||||
not their locations in ``django.contrib.auth.views``. If you are using the
|
||||
views without a ``name``, you should update your ``urlpatterns`` to use
|
||||
:meth:`~django.conf.urls.url` with the ``name`` parameter. For example::
|
||||
``django.conf.urls.url()`` with the ``name`` parameter. For example::
|
||||
|
||||
(r'^reset/done/$', 'django.contrib.auth.views.password_reset_complete')
|
||||
|
||||
|
@ -48,7 +48,7 @@ Bugfixes
|
||||
|
||||
* Updated ``urlpatterns`` examples generated by :djadmin:`startproject` to
|
||||
remove usage of referencing views by dotted path in
|
||||
:func:`~django.conf.urls.url` which is deprecated in Django 1.8
|
||||
``django.conf.urls.url()`` which is deprecated in Django 1.8
|
||||
(:ticket:`24635`).
|
||||
|
||||
* Fixed queries where an expression was referenced in ``order_by()``, but wasn't
|
||||
|
@ -1270,7 +1270,7 @@ Thus ``patterns()`` serves little purpose and is a burden when teaching new user
|
||||
(answering the newbie's question "why do I need this empty string as the first
|
||||
argument to ``patterns()``?"). For these reasons, we are deprecating it.
|
||||
Updating your code is as simple as ensuring that ``urlpatterns`` is a list of
|
||||
:func:`django.conf.urls.url` instances. For example::
|
||||
``django.conf.urls.url()`` instances. For example::
|
||||
|
||||
from django.conf.urls import url
|
||||
from myapp import views
|
||||
@ -1280,8 +1280,8 @@ Updating your code is as simple as ensuring that ``urlpatterns`` is a list of
|
||||
url('^other/$', views.otherview),
|
||||
]
|
||||
|
||||
Passing a string as ``view`` to :func:`~django.conf.urls.url`
|
||||
-------------------------------------------------------------
|
||||
Passing a string as ``view`` to ``django.conf.urls.url()``
|
||||
----------------------------------------------------------
|
||||
|
||||
Related to the previous item, referencing views as strings in the ``url()``
|
||||
function is deprecated. Pass the callable view as described in the previous
|
||||
@ -1319,7 +1319,7 @@ instead.
|
||||
|
||||
Related to the previous item, the ``prefix`` argument to
|
||||
:func:`django.conf.urls.i18n.i18n_patterns` has been deprecated. Simply pass a
|
||||
list of :func:`django.conf.urls.url` instances instead.
|
||||
list of ``django.conf.urls.url()`` instances instead.
|
||||
|
||||
Using an incorrect count of unpacked values in the :ttag:`for` template tag
|
||||
---------------------------------------------------------------------------
|
||||
|
@ -1289,7 +1289,7 @@ to:
|
||||
|
||||
This change also means that the old way of including an ``AdminSite`` instance
|
||||
is deprecated. Instead, pass ``admin.site.urls`` directly to
|
||||
:func:`~django.conf.urls.url()`:
|
||||
``django.conf.urls.url()``:
|
||||
|
||||
.. code-block:: python
|
||||
:caption: urls.py
|
||||
|
@ -754,6 +754,9 @@ Miscellaneous
|
||||
* The ``NullBooleanField`` model field is deprecated in favor of
|
||||
``BooleanField(null=True)``.
|
||||
|
||||
* ``django.conf.urls.url()`` alias of :func:`django.urls.re_path` is
|
||||
deprecated.
|
||||
|
||||
.. _removed-features-3.1:
|
||||
|
||||
Features removed in 3.1
|
||||
|
@ -1,9 +1,11 @@
|
||||
import uuid
|
||||
|
||||
from django.conf.urls import url as conf_url
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
from django.test import SimpleTestCase
|
||||
from django.test.utils import override_settings
|
||||
from django.urls import NoReverseMatch, Resolver404, path, resolve, reverse
|
||||
from django.utils.deprecation import RemovedInDjango40Warning
|
||||
|
||||
from .converters import DynamicConverter
|
||||
from .views import empty_view
|
||||
@ -303,3 +305,13 @@ class ConversionExceptionTests(SimpleTestCase):
|
||||
raise TypeError('This type error propagates.')
|
||||
with self.assertRaisesMessage(TypeError, 'This type error propagates.'):
|
||||
reverse('dynamic', kwargs={'value': object()})
|
||||
|
||||
|
||||
class DeprecationTests(SimpleTestCase):
|
||||
def test_url_warning(self):
|
||||
msg = (
|
||||
'django.conf.urls.url() is deprecated in favor of '
|
||||
'django.urls.re_path().'
|
||||
)
|
||||
with self.assertRaisesMessage(RemovedInDjango40Warning, msg):
|
||||
conf_url(r'^regex/(?P<pk>[0-9]+)/$', empty_view, name='regex')
|
||||
|
Loading…
Reference in New Issue
Block a user