Refs #21221 -- Removed staticfiles and admin_static template tag libraries.

Per deprecation timeline.
This commit is contained in:
Tim Graham 2018-12-27 20:41:54 -05:00
parent 958a7b4ca6
commit 92d4d0859a
6 changed files with 4 additions and 104 deletions

View File

@ -1,16 +0,0 @@
import warnings
from django.template import Library
from django.templatetags.static import static as _static
from django.utils.deprecation import RemovedInDjango30Warning
register = Library()
@register.simple_tag
def static(path):
warnings.warn(
'{% load admin_static %} is deprecated in favor of {% load static %}.',
RemovedInDjango30Warning,
)
return _static(path)

View File

@ -1,28 +0,0 @@
import warnings
from django import template
from django.templatetags.static import (
do_static as _do_static, static as _static,
)
from django.utils.deprecation import RemovedInDjango30Warning
register = template.Library()
def static(path):
warnings.warn(
'django.contrib.staticfiles.templatetags.static() is deprecated in '
'favor of django.templatetags.static.static().',
RemovedInDjango30Warning,
stacklevel=2,
)
return _static(path)
@register.tag('static')
def do_static(parser, token):
warnings.warn(
'{% load staticfiles %} is deprecated in favor of {% load static %}.',
RemovedInDjango30Warning,
)
return _do_static(parser, token)

View File

@ -256,3 +256,7 @@ to remove usage of these features.
* The ``ForceRHR`` GIS function is removed.
* ``django.utils.http.cookie_date()`` is removed.
* The ``staticfiles`` and ``admin_static`` template tag libraries are removed.
* ``django.contrib.staticfiles.templatetags.staticfiles.static()`` is removed.

View File

@ -1,24 +0,0 @@
from django.contrib.admin.templatetags.admin_static import static
from django.contrib.staticfiles.storage import staticfiles_storage
from django.test import SimpleTestCase
from django.utils.deprecation import RemovedInDjango30Warning
class AdminStaticDeprecationTests(SimpleTestCase):
def test(self):
"""
admin_static.static points to the collectstatic version
(as django.contrib.collectstatic is in INSTALLED_APPS).
"""
msg = (
'{% load admin_static %} is deprecated in favor of '
'{% load static %}.'
)
old_url = staticfiles_storage.base_url
staticfiles_storage.base_url = '/test/'
try:
with self.assertWarnsMessage(RemovedInDjango30Warning, msg):
url = static('path')
self.assertEqual(url, '/test/path')
finally:
staticfiles_storage.base_url = old_url

View File

@ -1,36 +0,0 @@
from urllib.parse import urljoin
from django.contrib.staticfiles import storage
from django.contrib.staticfiles.templatetags.staticfiles import static
from django.template import Context, Template
from django.test import SimpleTestCase, override_settings
from django.utils.deprecation import RemovedInDjango30Warning
class StaticTestStorage(storage.StaticFilesStorage):
def url(self, name):
return urljoin('https://example.com/assets/', name)
@override_settings(
STATIC_URL='http://media.example.com/static/',
INSTALLED_APPS=('django.contrib.staticfiles',),
STATICFILES_STORAGE='staticfiles_tests.test_forms.StaticTestStorage',
)
class StaticDeprecationTests(SimpleTestCase):
def test_templatetag_deprecated(self):
msg = '{% load staticfiles %} is deprecated in favor of {% load static %}.'
template = "{% load staticfiles %}{% static 'main.js' %}"
with self.assertWarnsMessage(RemovedInDjango30Warning, msg):
template = Template(template)
rendered = template.render(Context())
self.assertEqual(rendered, 'https://example.com/assets/main.js')
def test_static_deprecated(self):
msg = (
'django.contrib.staticfiles.templatetags.static() is deprecated in '
'favor of django.templatetags.static.static().'
)
with self.assertWarnsMessage(RemovedInDjango30Warning, msg):
url = static('main.js')
self.assertEqual(url, 'https://example.com/assets/main.js')