Fixed #21939 -- Deprecated loading ssi/url tags from future.

This commit is contained in:
Zbigniew Siciarz 2014-02-16 13:23:16 +01:00
parent 653527de40
commit 74d4d58b62
5 changed files with 25 additions and 17 deletions

View File

@ -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)

View File

@ -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

View File

@ -548,17 +548,6 @@ defined in your url configurations by using the ``{% url %}`` template tag:
<li><a href="{% url 'detail' question.id %}">{{ question.question_text }}</a></li>
.. 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::

View File

@ -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.

View File

@ -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))