Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ExtendsError at /admin/ Cannot extend templates recursively when using non-recursive template loaders #90

Open
m-vdb opened this issue Feb 13, 2018 · 2 comments

Comments

@m-vdb
Copy link

m-vdb commented Feb 13, 2018

I get this error when I want to extend my admin/base.html template. It works properly when dbtemplates.loader.Loader is not in the TEMPLATES settings, but when it is (even if I try to load a template that is not from the database), I get this error:

Environment:


Request Method: GET
Request URL: http://localhost:8000/admin/

Django Version: 1.11.5
Python Version: 3.6.3
Installed Applications:
['myproject',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.sites',
 'collectfaster',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'jet',
 'django.contrib.admin',
 'smuggler',
 'raven.contrib.django.raven_compat',
 'rest_framework',
 'rest_framework.authtoken',
 'corsheaders',
 'colorfield',
 'dbtemplates',
 'django_premailer',
 'algoliasearch_django',
 'push_notifications',
 'schedule',
 'django_filters',
 'django_user_agents']
Installed Middleware:
['raven.contrib.django.middleware.SentryMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'corsheaders.middleware.CorsMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django_user_agents.middleware.UserAgentMiddleware']


Template error:
In template /myproject/templates/admin/base.html, error at line 1
   Cannot extend templates recursively when using non-recursive template loaders   1 :  {% extends "admin/base.html" %} 
   2 : 
   3 : 
   4 : {% block content %}
   5 :
   6 : {{ block.super }}


Traceback:

File "/myproject/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
  41.             response = get_response(request)

File "/myproject/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  217.                 response = self.process_exception_by_middleware(e, request)

File "/myproject/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  215.                 response = response.render()

File "/myproject/lib/python3.6/site-packages/django/template/response.py" in render
  107.             self.content = self.rendered_content

File "/myproject/lib/python3.6/site-packages/django/template/response.py" in rendered_content
  84.         content = template.render(context, self._request)

File "/myproject/lib/python3.6/site-packages/django/template/backends/django.py" in render
  66.             return self.template.render(context)

File "/myproject/lib/python3.6/site-packages/django/template/base.py" in render
  207.                     return self._render(context)

File "/myproject/lib/python3.6/site-packages/django/template/base.py" in _render
  199.         return self.nodelist.render(context)

File "/myproject/lib/python3.6/site-packages/django/template/base.py" in render
  990.                 bit = node.render_annotated(context)

File "/myproject/lib/python3.6/site-packages/django/template/base.py" in render_annotated
  957.             return self.render(context)

File "/myproject/lib/python3.6/site-packages/django/template/loader_tags.py" in render
  177.             return compiled_parent._render(context)

File "/myproject/lib/python3.6/site-packages/django/template/base.py" in _render
  199.         return self.nodelist.render(context)

File "/myproject/lib/python3.6/site-packages/django/template/base.py" in render
  990.                 bit = node.render_annotated(context)

File "/myproject/lib/python3.6/site-packages/django/template/base.py" in render_annotated
  957.             return self.render(context)

File "/myproject/lib/python3.6/site-packages/django/template/loader_tags.py" in render
  177.             return compiled_parent._render(context)

File "/myproject/lib/python3.6/site-packages/django/template/base.py" in _render
  199.         return self.nodelist.render(context)

File "/myproject/lib/python3.6/site-packages/django/template/base.py" in render
  990.                 bit = node.render_annotated(context)

File "/myproject/lib/python3.6/site-packages/django/template/base.py" in render_annotated
  957.             return self.render(context)

File "/myproject/lib/python3.6/site-packages/django/template/loader_tags.py" in render
  154.         compiled_parent = self.get_parent(context)

File "/myproject/lib/python3.6/site-packages/django/template/loader_tags.py" in get_parent
  151.         return self.find_template(parent, context)

File "/myproject/lib/python3.6/site-packages/django/template/loader_tags.py" in find_template
  120.                         "Cannot extend templates recursively when using "

Exception Type: ExtendsError at /admin/
Exception Value: Cannot extend templates recursively when using non-recursive template loaders

I am not familiar with template loaders but I can help if needed. I think the issue comes from these lines. And to enable this parameter the get_contents() method on the loader needs to be implemented (as per this).

LMK if I can help more.

@m-vdb
Copy link
Author

m-vdb commented Feb 13, 2018

Oh I see that it is tackled in #87. How can I help?

@mpasternak
Copy link
Contributor

Is this problem still applicable?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants