From 74d4d58b62f3a68bf77b983bc8a475a130d1f95e Mon Sep 17 00:00:00 2001 From: Zbigniew Siciarz Date: Sun, 16 Feb 2014 13:23:16 +0100 Subject: [PATCH] Fixed #21939 -- Deprecated loading ssi/url tags from future. --- django/templatetags/future.py | 12 ++++++++++-- docs/internals/deprecation.txt | 6 +++--- docs/intro/tutorial03.txt | 11 ----------- docs/releases/1.7.txt | 9 +++++++++ tests/template_tests/tests.py | 4 +++- 5 files changed, 25 insertions(+), 17 deletions(-) diff --git a/django/templatetags/future.py b/django/templatetags/future.py index 7203f394bf..c8127ac102 100644 --- a/django/templatetags/future.py +++ b/django/templatetags/future.py @@ -1,3 +1,5 @@ +import warnings + from django.template import Library from django.template import defaulttags @@ -6,13 +8,19 @@ register = Library() @register.tag def ssi(parser, token): - # Used for deprecation path during 1.3/1.4, will be removed in 2.0 + warnings.warn( + "Loading the `ssi` tag from the `future` library is deprecated and " + "will be removed in Django 1.9. Use the default `ssi` tag instead.", + PendingDeprecationWarning) return defaulttags.ssi(parser, token) @register.tag def url(parser, token): - # Used for deprecation path during 1.3/1.4, will be removed in 2.0 + warnings.warn( + "Loading the `url` tag from the `future` library is deprecated and " + "will be removed in Django 1.9. Use the default `url` tag instead.", + PendingDeprecationWarning) return defaulttags.url(parser, token) diff --git a/docs/internals/deprecation.txt b/docs/internals/deprecation.txt index 4b79e4696d..057c6dd3fe 100644 --- a/docs/internals/deprecation.txt +++ b/docs/internals/deprecation.txt @@ -12,9 +12,6 @@ about each item can often be found in the release notes of two versions prior. 2.0 --- -* ``ssi`` and ``url`` template tags will be removed from the ``future`` template - tag library (used during the 1.3/1.4 deprecation period). - .. _deprecation-removed-in-1.9: 1.9 @@ -119,6 +116,9 @@ details on these changes. * ``django.utils.module_loading.import_by_path`` will be removed in favor of ``django.utils.module_loading.import_string``. +* ``ssi`` and ``url`` template tags will be removed from the ``future`` template + tag library (used during the 1.3/1.4 deprecation period). + .. _deprecation-removed-in-1.8: 1.8 diff --git a/docs/intro/tutorial03.txt b/docs/intro/tutorial03.txt index 9754808897..5b2bee5fe7 100644 --- a/docs/intro/tutorial03.txt +++ b/docs/intro/tutorial03.txt @@ -548,17 +548,6 @@ defined in your url configurations by using the ``{% url %}`` template tag:
  • {{ question.question_text }}
  • -.. note:: - - If ``{% url 'detail' question.id %}`` (with quotes) doesn't work, but - ``{% url detail question.id %}`` (without quotes) does, that means you're - using a version of Django < 1.5. In this case, add the following - declaration at the top of your template: - - .. code-block:: html+django - - {% load url from future %} - The way this works is by looking up the URL definition as specified in the ``polls.urls`` module. You can see exactly where the URL name of 'detail' is defined below:: diff --git a/docs/releases/1.7.txt b/docs/releases/1.7.txt index 8e9ebe72a1..cd9a9dd225 100644 --- a/docs/releases/1.7.txt +++ b/docs/releases/1.7.txt @@ -1337,3 +1337,12 @@ The functionality required by ``check_field()`` is the same as that provided by ``validate_field()``, but the output format is different. Third-party database backends needing this functionality should modify their backends to provide an implementation of ``check_field()``. + +Loading ``ssi`` and ``url`` template tags from ``future`` library +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Django 1.3 introduced ``{% load ssi from future %}`` and +``{% load url from future %}`` syntax for forward compatibility of the +:ttag:`ssi` and :ttag:`url` template tags. This syntax is now deprecated and +will be removed in Django 1.9. You can simply remove the +``{% load ... from future %}`` tags. diff --git a/tests/template_tests/tests.py b/tests/template_tests/tests.py index f10d9ea889..5263040212 100644 --- a/tests/template_tests/tests.py +++ b/tests/template_tests/tests.py @@ -612,8 +612,10 @@ class TemplateTests(TestCase): try: try: with warnings.catch_warnings(): - # Ignore pending deprecations of the old syntax of the 'cycle' and 'firstof' tags. + # Ignore deprecations of the old syntax of the 'cycle' and 'firstof' tags. warnings.filterwarnings("ignore", category=DeprecationWarning, module='django.template.base') + # Ignore pending deprecations of loading 'ssi' and 'url' tags from future. + warnings.filterwarnings("ignore", category=PendingDeprecationWarning, module='django.templatetags.future') test_template = loader.get_template(name) except ShouldNotExecuteException: failures.append("Template test (Cached='%s', TEMPLATE_STRING_IF_INVALID='%s', TEMPLATE_DEBUG=%s): %s -- FAILED. Template loading invoked method that shouldn't have been invoked." % (is_cached, invalid_str, template_debug, name))