Skip to content

Commit

Permalink
Fixed #24022 -- Deprecated the ssi tag.
Browse files Browse the repository at this point in the history
  • Loading branch information
prestontimmons authored and timgraham committed Jan 6, 2015
1 parent a9aec11 commit de9ebdd
Show file tree
Hide file tree
Showing 7 changed files with 33 additions and 6 deletions.
5 changes: 5 additions & 0 deletions django/template/defaulttags.py
Original file line number Diff line number Diff line change
Expand Up @@ -1088,6 +1088,11 @@ def ssi(parser, token):
{% ssi "/home/html/ljworld.com/includes/right_generic.html" parsed %}
"""
warnings.warn(
"The {% ssi %} tag is deprecated. Use the {% include %} tag instead.",
RemovedInDjango20Warning,
)

bits = token.split_contents()
parsed = False
if len(bits) not in (2, 3):
Expand Down
2 changes: 2 additions & 0 deletions docs/internals/deprecation.txt
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,8 @@ details on these changes.

* The ``--list`` option of the ``migrate`` management command will be removed.

* The ``ssi`` template tag will be removed.

.. _deprecation-removed-in-1.9:

1.9
Expand Down
10 changes: 8 additions & 2 deletions docs/ref/settings.txt
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,14 @@ Default: ``()`` (Empty tuple)

.. deprecated:: 1.8

Set the ``'allowed_include_roots'`` option in the :setting:`OPTIONS
<TEMPLATES-OPTIONS>` of a ``DjangoTemplates`` backend instead.
This setting, along with the :ttag:`ssi` template tag, is deprecated and
will be removed in Django 2.0.

.. versionchanged:: 1.8

You can also set the ``'allowed_include_roots'`` option in the
:setting:`OPTIONS <TEMPLATES-OPTIONS>` of a ``DjangoTemplates`` backend
instead.

A tuple of strings representing allowed prefixes for the ``{% ssi %}`` template
tag. This is a security measure, so that template authors can't access files
Expand Down
7 changes: 5 additions & 2 deletions docs/ref/templates/builtins.txt
Original file line number Diff line number Diff line change
Expand Up @@ -705,8 +705,6 @@ available to the included template::
been evaluated and rendered* - not blocks that can be overridden by, for
example, an extending template.

See also: :ttag:`{% ssi %}<ssi>`.

.. templatetag:: load

load
Expand Down Expand Up @@ -979,6 +977,11 @@ this example, the space around ``Hello`` won't be stripped::
ssi
^^^

.. deprecated:: 1.8

This tag has been deprecated and will be removed in Django 2.0. Use the
:ttag:`include` tag instead.

Outputs the contents of a given file into the page.

Like a simple :ttag:`include` tag, ``{% ssi %}`` includes the contents of
Expand Down
8 changes: 8 additions & 0 deletions docs/releases/1.8.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1385,6 +1385,14 @@ of ``Field.rel``. The latter is an instance of
module has been removed and the ``Field.related`` attribute will be removed in
Django 2.0.

``ssi`` template tag
~~~~~~~~~~~~~~~~~~~~

The :ttag:`ssi` template tag allows files to be included in a template by
absolute path. This is of limited use in most deployment situations, and
the :ttag:`include` tag often makes more sense. This tag is now deprecated and
will be removed in Django 2.0.

.. removed-features-1.8:

Features removed in 1.8
Expand Down
3 changes: 2 additions & 1 deletion tests/template_tests/syntax_tests/test_ssi.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import os

from django.test import ignore_warnings, SimpleTestCase
from django.utils.deprecation import RemovedInDjango19Warning
from django.utils.deprecation import RemovedInDjango19Warning, RemovedInDjango20Warning

from ..utils import ROOT, setup


@ignore_warnings(category=RemovedInDjango20Warning)
class SsiTagTests(SimpleTestCase):

# Test normal behavior
Expand Down
4 changes: 3 additions & 1 deletion tests/template_tests/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
from django.template.engine import Engine
from django.template.loaders import app_directories, filesystem
from django.test import RequestFactory, SimpleTestCase
from django.test.utils import override_settings, extend_sys_path
from django.test.utils import extend_sys_path, ignore_warnings, override_settings
from django.utils.deprecation import RemovedInDjango20Warning
from django.utils._os import upath


Expand Down Expand Up @@ -501,6 +502,7 @@ def test_context_comparable(self):
RequestContext(request, dict_=test_data, engine=engine))


@ignore_warnings(category=RemovedInDjango20Warning)
class SSITests(SimpleTestCase):
def setUp(self):
self.this_dir = os.path.dirname(os.path.abspath(upath(__file__)))
Expand Down

0 comments on commit de9ebdd

Please sign in to comment.