diff --git a/djedi/admin/cms.py b/djedi/admin/cms.py index 65d4e290..97ec9b0e 100644 --- a/djedi/admin/cms.py +++ b/djedi/admin/cms.py @@ -4,7 +4,7 @@ from django.views.generic import View from ..auth import has_permission -from ..compat import include, patterns, render, url +from ..compat import include, render, url from .mixins import DjediContextMixin diff --git a/djedi/admin/urls.py b/djedi/admin/urls.py index b48b9579..bc9ef7b5 100644 --- a/djedi/admin/urls.py +++ b/djedi/admin/urls.py @@ -1,4 +1,4 @@ -from ..compat import include, patterns, url +from ..compat import include, url from .api import LoadApi, NodeApi, NodeEditor, PublishApi, RenderApi, RevisionsApi from .cms import DjediCMS diff --git a/djedi/backends/django/cache/backend.py b/djedi/backends/django/cache/backend.py index e913aa6c..2a80dcd7 100644 --- a/djedi/backends/django/cache/backend.py +++ b/djedi/backends/django/cache/backend.py @@ -3,8 +3,7 @@ from django.utils.encoding import smart_bytes, smart_text from cio.backends.base import CacheBackend from django.core.cache.backends.locmem import LocMemCache - -from djedi.compat import get_cache +from django.core.cache import caches class DjangoCacheBackend(CacheBackend): diff --git a/djedi/compat.py b/djedi/compat.py index cc7912ff..652dac69 100644 --- a/djedi/compat.py +++ b/djedi/compat.py @@ -5,9 +5,34 @@ from django.shortcuts import render from django.template.loader import render_to_string from django.template.response import TemplateResponse as BaseTemplateResponse -from django.core.cache import caches from django.conf.urls import include, url from django.urls import reverse, NoReverseMatch +from django.template.library import parse_bits + + +def generic_tag_compiler( + parser, token, params, varargs, varkw, defaults, name, takes_context, node_class +): + """ + Returns a template.Node subclass. + This got inlined into django.template.library since Django since 1.9, this here + is a copypasta replacement: + https://github.com/django/django/blob/stable/1.8.x/django/template/base.py#L1089 + """ + bits = token.split_contents()[1:] + args, kwargs = parse_bits( + parser=parser, + bits=bits, + params=params, + varargs=varargs, + varkw=varkw, + defaults=defaults, + kwonly=(), + kwonly_defaults=(), + takes_context=takes_context, + name=name, + ) + return node_class(takes_context, args, kwargs) render_to_string = partial(render_to_string, using="django") @@ -20,10 +45,6 @@ def __init__(self, *args, **kwargs): super(TemplateResponse, self).__init__(*args, **kwargs) -def get_cache(name): - return caches[name] - - ArgSpec = namedtuple("ArgSpec", ["args", "varargs", "keywords", "defaults"]) @@ -38,14 +59,10 @@ def getargspec(func): __all__ = [ + "generic_tag_compiler", "render_to_string", "render", - "patterns", "include", "url", "reverse", - "NoReverseMatch", - "generic_tag_compiler", - "parse_bits", - "get_cache", ] diff --git a/djedi/rest/urls.py b/djedi/rest/urls.py index 465c6513..22887cb6 100644 --- a/djedi/rest/urls.py +++ b/djedi/rest/urls.py @@ -1,6 +1,6 @@ from django.http import Http404 -from ..compat import patterns, url +from ..compat import url from .api import EmbedApi, NodesApi app_name = "rest" diff --git a/djedi/templatetags/template.py b/djedi/templatetags/template.py index aa11f59e..ddc2d936 100644 --- a/djedi/templatetags/template.py +++ b/djedi/templatetags/template.py @@ -1,9 +1,9 @@ from functools import partial from django import template from django.template import Context -from django.template.base import Node, TemplateSyntaxError, generic_tag_compiler +from django.template.base import Node, TemplateSyntaxError -from ..compat import getargspec +from ..compat import getargspec, generic_tag_compiler register = template.Library() diff --git a/djedi/tests/urls.py b/djedi/tests/urls.py index c5a0407d..da9d8626 100644 --- a/djedi/tests/urls.py +++ b/djedi/tests/urls.py @@ -1,7 +1,7 @@ from django.contrib import admin from django.shortcuts import render -from ..compat import include, patterns, url +from ..compat import include, url admin.autodiscover() diff --git a/docs/installation.rst b/docs/installation.rst index 7ba48066..c7a91535 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -66,7 +66,7 @@ If the Django ``AdminSite`` already is enabled, and `included