Fixed #21939 -- Deprecated loading ssi/url tags from future.
This commit is contained in:
parent
653527de40
commit
74d4d58b62
|
@ -1,3 +1,5 @@
|
||||||
|
import warnings
|
||||||
|
|
||||||
from django.template import Library
|
from django.template import Library
|
||||||
from django.template import defaulttags
|
from django.template import defaulttags
|
||||||
|
|
||||||
|
@ -6,13 +8,19 @@ register = Library()
|
||||||
|
|
||||||
@register.tag
|
@register.tag
|
||||||
def ssi(parser, token):
|
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)
|
return defaulttags.ssi(parser, token)
|
||||||
|
|
||||||
|
|
||||||
@register.tag
|
@register.tag
|
||||||
def url(parser, token):
|
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)
|
return defaulttags.url(parser, token)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -12,9 +12,6 @@ about each item can often be found in the release notes of two versions prior.
|
||||||
2.0
|
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:
|
.. _deprecation-removed-in-1.9:
|
||||||
|
|
||||||
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_by_path`` will be removed in favor of
|
||||||
``django.utils.module_loading.import_string``.
|
``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:
|
.. _deprecation-removed-in-1.8:
|
||||||
|
|
||||||
1.8
|
1.8
|
||||||
|
|
|
@ -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>
|
<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
|
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
|
``polls.urls`` module. You can see exactly where the URL name of 'detail' is
|
||||||
defined below::
|
defined below::
|
||||||
|
|
|
@ -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
|
by ``validate_field()``, but the output format is different. Third-party database
|
||||||
backends needing this functionality should modify their backends to provide an
|
backends needing this functionality should modify their backends to provide an
|
||||||
implementation of ``check_field()``.
|
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.
|
||||||
|
|
|
@ -612,8 +612,10 @@ class TemplateTests(TestCase):
|
||||||
try:
|
try:
|
||||||
try:
|
try:
|
||||||
with warnings.catch_warnings():
|
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')
|
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)
|
test_template = loader.get_template(name)
|
||||||
except ShouldNotExecuteException:
|
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))
|
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))
|
||||||
|
|
Loading…
Reference in New Issue