[Errno 2] No such file or directory: '/home/m1/m1-live/data/media/TF_17_Walk_Hands_Eyes_15_copie.jpg'
Request Method: | GET |
---|---|
Request URL: | https://www.m1-hohenlockstedt.de/de/kalender/2019/9/28/ein-workshop-zum-thema-vertrauen/ |
Django Version: | 2.2.28 |
Exception Type: | FileNotFoundError |
Exception Value: | [Errno 2] No such file or directory: '/home/m1/m1-live/data/media/TF_17_Walk_Hands_Eyes_15_copie.jpg' |
Exception Location: | /home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/core/files/storage.py in _open, line 236 |
Python Executable: | /home/m1/.virtualenvs/m1-live/bin/uwsgi |
Python Version: | 3.7.3 |
Python Path: | ['.', '', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages'] |
Server time: | Do, 28 Mär 2024 22:19:52 +0100 |
In template /home/m1/m1-live/app/templates/projects/project/plugins/_image.html
, error at line 13
3 | <figure class="{% block plugin_class %}thumbnail-slider{% endblock plugin_class %}"> |
---|---|
4 | {% block plugin_content %} |
5 | {% with image=content.object %} |
6 | |
7 | <div id="gallery{{ image.pk }}" class="image-gallery" |
8 | data-featherlight-gallery |
9 | data-featherlight-variant="black" |
10 | data-featherlight-filter="nav a.thumb"> |
11 | <figure id="slide{{ image.pk }}"> |
12 | <div class="photoframe"> |
13 | <img src="{{ image.lightbox_image.url }}"> |
14 | </div> |
15 | |
16 | <figcaption> |
17 | {% include "media_archive/_figcaption.html" with object=image %} |
18 | </figcaption> |
19 | </figure> |
20 | |
21 | <nav class="thumbs"> |
22 | <a class="thumb" href="#slide{{ image.pk }}"> |
23 | <img src="{{ image.gif_lightbox_image.url }}"> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in _resolve_lookup
detail and shouldn't be called by external code. Use Variable.resolve()
instead.
"""
current = context
try: # catch-all for silent variable failures
for bit in self.lookups:
try: # dictionary lookup
current = current[bit]…
# ValueError/IndexError are for numpy.array lookup on
# numpy < 1.9 and 1.9+ respectively
except (TypeError, AttributeError, KeyError, ValueError, IndexError):
try: # attribute lookup
# Don't return class attributes if the class is the context:
if isinstance(current, BaseContext) and getattr(type(current), bit):
Variable | Value |
---|---|
bit | 'url' |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
current | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
self | <Variable: 'image.lightbox_image.url'> |
template_name | 'schedule/scheduleevent_detail.html' |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/core/handlers/exception.py
in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response)
def inner(request):
try:
response = get_response(request)…
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | FileNotFoundError(2, 'No such file or directory') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fad790d2780>> |
request | <WSGIRequest: GET '/de/kalender/2019/9/28/ein-workshop-zum-thema-vertrauen/'> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/core/handlers/base.py
in _get_response
"HttpResponse object. It returned None instead."
% (middleware_method.__self__.__class__.__name__)
)
try:
response = response.render()
except Exception as e:
response = self.process_exception_by_middleware(e, request)…
return response
def process_exception_by_middleware(self, exception, request):
"""
Pass the exception to the exception middleware. If no middleware
Variable | Value |
---|---|
callback | <function ScheduleEventDetailView at 0x7fad73dacf28> |
callback_args | () |
callback_kwargs | {'day': '28', 'month': '9', 'slug': 'ein-workshop-zum-thema-vertrauen', 'year': '2019'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fad78966b38>> |
request | <WSGIRequest: GET '/de/kalender/2019/9/28/ein-workshop-zum-thema-vertrauen/'> |
resolver | <URLResolver 'app.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=app.schedule.views.ScheduleEventDetailView, args=(), kwargs={'year': '2019', 'month': '9', 'day': '28', 'slug': 'ein-workshop-zum-thema-vertrauen'}, url_name=scheduleevent_detail, app_names=[], namespaces=[], route=de/kalender/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/$) |
response | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fad790d2780> |
wrapped_callback | <function ScheduleEventDetailView at 0x7fad73dacf28> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/core/handlers/base.py
in _get_response
raise ValueError(
"%s.process_template_response didn't return an "
"HttpResponse object. It returned None instead."
% (middleware_method.__self__.__class__.__name__)
)
try:
response = response.render()…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
return response
def process_exception_by_middleware(self, exception, request):
Variable | Value |
---|---|
callback | <function ScheduleEventDetailView at 0x7fad73dacf28> |
callback_args | () |
callback_kwargs | {'day': '28', 'month': '9', 'slug': 'ein-workshop-zum-thema-vertrauen', 'year': '2019'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fad78966b38>> |
request | <WSGIRequest: GET '/de/kalender/2019/9/28/ein-workshop-zum-thema-vertrauen/'> |
resolver | <URLResolver 'app.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=app.schedule.views.ScheduleEventDetailView, args=(), kwargs={'year': '2019', 'month': '9', 'day': '28', 'slug': 'ein-workshop-zum-thema-vertrauen'}, url_name=scheduleevent_detail, app_names=[], namespaces=[], route=de/kalender/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/$) |
response | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fad790d2780> |
wrapped_callback | <function ScheduleEventDetailView at 0x7fad73dacf28> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/response.py
in render
If the content has already been rendered, this is a no-op.
Return the baked response instance.
"""
retval = self
if not self._is_rendered:
self.content = self.rendered_content…
for post_callback in self._post_render_callbacks:
newretval = post_callback(retval)
if newretval is not None:
retval = newretval
return retval
Variable | Value |
---|---|
retval | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/response.py
in rendered_content
This *does not* set the final content of the response. To set the
response content, you must either call render(), or set the
content explicitly using the value of this property.
"""
template = self.resolve_template(self.template_name)
context = self.resolve_context(self.context_data)
content = template.render(context, self._request)…
return content
def add_post_render_callback(self, callback):
"""Add a new post-rendering callback.
If the response has already been rendered,
Variable | Value |
---|---|
context | {'artwork': True, 'aside': False, 'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'photos': True, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>} |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
template | <django.template.backends.django.Template object at 0x7fad734f8b70> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/backends/django.py
in render
@property
def origin(self):
return self.template.origin
def render(self, context=None, request=None):
context = make_context(context, request, autoescape=self.backend.engine.autoescape)
try:
return self.template.render(context)…
except TemplateDoesNotExist as exc:
reraise(exc, self.backend)
def copy_exception(exc, backend=None):
"""
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
request | <WSGIRequest: GET '/de/kalender/2019/9/28/ein-workshop-zum-thema-vertrauen/'> |
self | <django.template.backends.django.Template object at 0x7fad734f8b70> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)…
else:
return self._render(context)
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <django.template.base.Template object at 0x7fad73752208> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <django.template.base.Template object at 0x7fad73752208> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <ExtendsNode: extends "projects/base.html"> |
self | [<ExtendsNode: extends "projects/base.html">] |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <ExtendsNode: extends "projects/base.html"> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/loader_tags.py
in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)…
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, extra_context=None, isolated_context=False, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7fad73191c18> |
compiled_parent | <django.template.base.Template object at 0x7fad73185b70> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <ExtendsNode: extends "base_projects.html"> |
self | <ExtendsNode: extends "projects/base.html"> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <django.template.base.Template object at 0x7fad73185b70> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <ExtendsNode: extends "base_projects.html"> |
self | [<ExtendsNode: extends "base_projects.html">] |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <ExtendsNode: extends "base_projects.html"> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/loader_tags.py
in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)…
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, extra_context=None, isolated_context=False, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7fad73191c18> |
compiled_parent | <django.template.base.Template object at 0x7fad731850f0> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <ExtendsNode: extends "base_site.html"> |
self | <ExtendsNode: extends "base_projects.html"> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <django.template.base.Template object at 0x7fad731850f0> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <ExtendsNode: extends "base_site.html"> |
self | [<ExtendsNode: extends "base_site.html">] |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <ExtendsNode: extends "base_site.html"> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/loader_tags.py
in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)…
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, extra_context=None, isolated_context=False, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7fad73191c18> |
compiled_parent | <django.template.base.Template object at 0x7fad737ba2b0> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <ExtendsNode: extends "base.html"> |
self | <ExtendsNode: extends "base_site.html"> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <django.template.base.Template object at 0x7fad737ba2b0> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <ExtendsNode: extends "base.html"> |
self | [<ExtendsNode: extends "base.html">] |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <ExtendsNode: extends "base.html"> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/loader_tags.py
in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)…
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, extra_context=None, isolated_context=False, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7fad73191c18> |
blocks | {'after-article': <Block Node: after-article. Contents: []>, 'after-main': <Block Node: after-main. Contents: []>, 'article-class': <Block Node: article-class. Contents: []>, 'aside': <Block Node: aside. Contents: []>, 'before-article': <Block Node: before-article. Contents: []>, 'before-main': <Block Node: before-main. Contents: []>, 'bodyclass': <Block Node: bodyclass. Contents: []>, 'bottomscripts': <Block Node: bottomscripts. Contents: [<TextNode: '\n\t<script src="'>, <django.templatetags.static.StaticNode object at 0x7fad7db0cf98>, <TextNode: '"></script>\n\t'>, <TextNode: '\n\t<script src="'>, <django.templatetags.static.StaticNode object at 0x7fad7db0cdd8>, <TextNode: '"></script>\n\t<script src='>, <django.templatetags.static.StaticNode object at 0x7fad7db0ce10>, <TextNode: '"></script>\n\t<script src='>, <django.templatetags.static.StaticNode object at 0x7fad7db0ceb8>, <TextNode: '"></script>\n\t<script src='>, <django.templatetags.static.StaticNode object at 0x7fad7db0cc88>, <TextNode: '"></script>\n\t<script src='>, <django.templatetags.static.StaticNode object at 0x7fad7db0cd30>, <TextNode: '"></script>'>, <TextNode: '\n\t<script src="'>, <django.templatetags.static.StaticNode object at 0x7fad7db0cb00>, <TextNode: '"></script>\n\t<script type'>, <django.templatetags.static.StaticNode object at 0x7fad7db0cba8>, <TextNode: '"></script>\n\t<script type'>, <django.templatetags.static.StaticNode object at 0x7fad7db0c978>, <TextNode: '"></script>\n\t<script src='>, <django.templatetags.static.StaticNode object at 0x7fad7db0ca20>, <TextNode: '"></script>\n'>]>, 'container': <Block Node: container. Contents: [<TextNode: '\n\t<div id="container">\n\t\t'>, <Block Node: before-main. Contents: []>, <TextNode: '\n\n\t\t'>, <Block Node: foundationTitle. Contents: []>, <TextNode: '\n\n\t\t<main>\n\t\t\t'>, <Block Node: main. Contents: [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\t</article>\n\t\t\t\t'>, <Block Node: after-article. Contents: []>, <TextNode: '\n\t\t\t\t</div>\n\n\t\t\t\t'>, <IfNode>, <TextNode: '\n\t\t\t'>]>, <TextNode: '\n\t\t</main>\n\n\t\t'>, <Block Node: after-main. Contents: []>, <TextNode: '\n\t</div>\n\n\t\t<footer>\n\t\t\t'>, <Block Node: footer. Contents: []>, <TextNode: '\n\t\t</footer>\n\t'>]>, 'content': <Block Node: content. Contents: []>, 'extrascript': <Block Node: extrascript. Contents: [<TextNode: '\n\t\n\t<script>\n\t\tprev_butto'>]>, 'extrastyle': <Block Node: extrastyle. Contents: []>, 'footer': <Block Node: footer. Contents: []>, 'foundationTitle': <Block Node: foundationTitle. Contents: []>, 'header-content': <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, 'logo': <Block Node: logo. Contents: [<TextNode: '\n\t\t\t\t<h1><a href="'>, <django.template.defaulttags.URLNode object at 0x7fad7363e8d0>, <TextNode: '" title="M.1"><img id="m1'>, <django.templatetags.static.StaticNode object at 0x7fad7363e6a0>, <TextNode: '" alt="M.1"></a></h1>\n\t\t\t'>]>, 'main': <Block Node: main. Contents: [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. C… <trimmed 6534 bytes string> |
compiled_parent | <django.template.base.Template object at 0x7fad737e7240> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <django.template.defaulttags.LoadNode object at 0x7fad7363ea58> |
self | <ExtendsNode: extends "base.html"> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <django.template.base.Template object at 0x7fad737e7240> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n\n<div id="stage">\n\n\t' |
bits | ['<!doctype html>', '', '\n<html class="no-js" lang="', '', '">\n' '<head>\n' '\t<meta charset="utf-8">\n' '\t<meta http-equiv="X-UA-Compatible" content="IE=edge">\n' '\t<title>', 'Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen \n' '\tM.1 Hohenlockstedt / Arthur Boskamp-Stiftung\n', '</title>\n' '\t<meta name="viewport" content="width=device-width, initial-scale=1">\n' '\t<link rel="icon" href="', '/static/img/favicon.ico', '" />\n\n\t<link href="', '/static/css/screen.css', '" rel="stylesheet" type="text/css" />\n\t', '', '\n\t<script src="', '/static/js/vendor/jquery-2.2.4.min.js', '"></script>\n\t', '\n' '\t\n' '\t<script>\n' '\t\tprev_button_bottom = 7;\n' '\t\tnext_button_bottom = 10;\n' '\t\tinitial_logo_height = 20;\n' '\t</script>\n' '\n' '\t', '\n</head>\n<body class="', 'main projects event ein-workshop-zum-thema-vertrauen', '">\n' ' <!--[if lt IE 7]>\n' ' <p class="browsehappy">You are using an <strong>outdated</strong> ' 'browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> ' 'to improve your experience.</p>\n' ' <![endif]-->\n' '\n' '\t<header id="header--site" class="site">\n' '\t\t<div id="logo">\n' '\t\t\t', '\n' '\t\t\t\t<h1><a href="/de/" title="M.1"><img id="m1-logo" ' 'src="/static/img/M.1-logo-yellow.svg" alt="M.1"></a></h1>\n' '\t\t\t', '\n' '\t\t</div>\n' '\n' '\t\t<button class="mobile-nav-toggle" aria-expanded="true">\n' '\t\t\t<span class="toggle-icon">\n' '\t\t\t\t<svg width="24px" height="16px" viewBox="0 0 24 16" version="1.1" ' 'xmlns="http://www.w3.org/2000/svg">\n' '\t\t\t\t <g stroke="none" stroke-width="1" fill="none" ' 'fill-rule="evenodd">\n' '\t\t\t\t <g transform="translate(-321.000000, -15.000000)" ' 'fill="currentColor" fill-rule="nonzero">\n' '\t\t\t\t <g transform="translate(29.000000, 12.000000)">\n' '\t\t\t\t <g transform="translate(304.000000, 11.000000) ' 'scale(-1, 1) translate(-304.000000, -11.000000) translate(292.000000, ' '3.000000)">\n' '\t\t\t\t <path d="M14,9 L1,9 C0.4,9 0,8.6 0,8 C0,7.4 ' '0.4,7 1,7 L14,7 C14.6,7 15,7.4 15,8 C15,8.6 14.6,9 14,9 Z"></path>\n' '\t\t\t\t <path d="M23,2 L1,2 C0.4,2 0,1.6 0,1 C0,0.4 ' '0.4,0 1,0 L23,0 C23.6,0 24,0.4 24,1 C24,1.6 23.6,2 23,2 Z"></path>\n' '\t\t\t\t <path d="M23,16 L1,16 C0.4,16 0,15.6 0,15 ' 'C0,14.4 0.4,14 1,14 L23,14 C23.6,14 24,14.4 24,15 C24,15.6 23.6,16 23,16 ' 'Z"></path>\n' '\t\t\t\t </g>\n' '\t\t\t\t </g>\n' '\t\t\t\t </g>\n' '\t\t\t\t </g>\n' '\t\t\t\t</svg>\n' '\t\t\t</span>\n' '\t\t</button>\t\t\t\t\t\n' '\n' '\t\t<div class="menu-wrapper-mobile">\n' '\t\t\t<header>\n' '\t\t\t\t<h1 class="logo-mobile"><a href="', '/de/', '" title="M.1"><img src="', '/static/img/M.1-logo-yellow.svg', '" alt="M.1"></a></h1>\n' '\n' '\t\t\t\t<button class="mobile-nav-close" aria-expanded="true">\n' '\t\t\t\t\t<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" ' 'xmlns="http://www.w3.org/2000/svg">\n' '\t\t\t\t\t <g stroke="none" stroke-width="1" fill="none" ' 'fill-rule="evenodd">\n' '\t\t\t\t\t <g transform="translate(-329.000000, -17.000000)" ' 'fill="currentColor" fill-rule="nonzero">\n' '\t\t\t\t\t <g transform="translate(0.000000, -1.000000)">\n' '\t\t\t\t\t <g transform="translate(329.000000, 18.000000)">\n' '\t\t\t\t\t <path d="M15.7,0.3 C15.3,-0.1 14.7,-0.1 ' '14.3,0.3 L8,6.6 L1.7,0.3 C1.3,-0.1 0.7,-0.1 0.3,0.3 C-0.1,0.7 -0.1,1.3 ' '0.3,1.7 L6.6,8 L0.3,14.3 C-0.1,14.7 -0.1,15.3 0.3,15.7 C0.5,15.9 0.7,16 1,16 ' 'C1.3,16 1.5,15.9 1.7,15.7 L8,9.4 L14.3,15.7 C14.5,15.9 14.8,16 15,16 ' 'C15.2,16 15.5,15.9 15.7,15.7 C16.1,15.3 16.1,14.7 15.7,14.3 L9.4,8 L15.7,1.7 ' 'C16.1,1.3 16.1,0.7 15.7,0.3 Z" id="Path"></path>\n' '\t\t\t\t\t </g>\n' '\t\t\t\t\t </g>\n' '\t\t\t\t\t </g>\n' '\t\t\t\t\t </g>\n' '\t\t\t\t\t</svg>\n' '\t\t\t\t</button>\n' '\t\t\t</header>\… <trimmed 7265 bytes string> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <Block Node: container. Contents: [<TextNode: '\n\t<div id="container">\n\t\t'>, <Block Node: before-main. Contents: []>, <TextNode: '\n\n\t\t'>, <Block Node: foundationTitle. Contents: []>, <TextNode: '\n\n\t\t<main>\n\t\t\t'>, <Block Node: main. Contents: [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\t</article>\n\t\t\t\t'>, <Block Node: after-article. Contents: []>, <TextNode: '\n\t\t\t\t</div>\n\n\t\t\t\t'>, <IfNode>, <TextNode: '\n\t\t\t'>]>, <TextNode: '\n\t\t</main>\n\n\t\t'>, <Block Node: after-main. Contents: []>, <TextNode: '\n\t</div>\n\n\t\t<footer>\n\t\t\t'>, <Block Node: footer. Contents: []>, <TextNode: '\n\t\t</footer>\n\t'>]> |
self | [<TextNode: '<!doctype html>'>, <django.template.defaulttags.LoadNode object at 0x7fad7363ea58>, <TextNode: '\n<html class="no-js" lang'>, <Variable Node: LANGUAGE_CODE|slice:":2">, <TextNode: '">\n<head>\n\t<meta charset='>, <Block Node: window_title. Contents: []>, <TextNode: '</title>\n\t<meta name="vie'>, <django.templatetags.static.StaticNode object at 0x7fad7363eb00>, <TextNode: '" />\n\n\t<link href="'>, <sass_processor.templatetags.sass_tags.SassSrcNode object at 0x7fad7363eeb8>, <TextNode: '" rel="stylesheet" type="'>, <Block Node: extrastyle. Contents: []>, <TextNode: '\n\t<script src="'>, <django.templatetags.static.StaticNode object at 0x7fad7363ea90>, <TextNode: '"></script>\n\t'>, <Block Node: extrascript. Contents: [<TextNode: '\n\t\n\t<script>\n\t\tprev_butto'>]>, <TextNode: '\n</head>\n<body class="'>, <Block Node: bodyclass. Contents: []>, <TextNode: '">\n <!--[if lt IE 7]>\n '>, <Block Node: logo. Contents: [<TextNode: '\n\t\t\t\t<h1><a href="'>, <django.template.defaulttags.URLNode object at 0x7fad7363e8d0>, <TextNode: '" title="M.1"><img id="m1'>, <django.templatetags.static.StaticNode object at 0x7fad7363e6a0>, <TextNode: '" alt="M.1"></a></h1>\n\t\t\t'>]>, <TextNode: '\n\t\t</div>\n\n\t\t<button clas'>, <django.template.defaulttags.URLNode object at 0x7fad7363e748>, <TextNode: '" title="M.1"><img src="'>, <django.templatetags.static.StaticNode object at 0x7fad7363ec88>, <TextNode: '" alt="M.1"></a></h1>\n\n\t\t'>, <django.template.loader_tags.IncludeNode object at 0x7fad7363ecf8>, <TextNode: '\n\t\t\t</nav>\n\n\t\t\t<nav id="t'>, <django.template.loader_tags.IncludeNode object at 0x7fad7363eb38>, <TextNode: '\n\t\t\t</nav>\n\n\t\t\t'>, <django.template.loader_tags.IncludeNode object at 0x7fad7363eda0>, <TextNode: '\n\t\t</div>\n\t</header>\n\n\n\t'>, <TextNode: '\n\n<div id="stage">\n\n\t'>, <Block Node: container. Contents: [<TextNode: '\n\t<div id="container">\n\t\t'>, <Block Node: before-main. Contents: []>, <TextNode: '\n\n\t\t'>, <Block Node: foundationTitle. Contents: []>, <TextNode: '\n\n\t\t<main>\n\t\t\t'>, <Block Node: main. Contents: [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\t</article>\n\t\t\t\t'>, <Block Node: after-article. Contents: []>, <TextNode: '\n\t\t\t\t</div>\n\n\t\t\t\t'>, <IfNode>, <TextNode: '\n\t\t\t'>]>, <TextNode: '\n\t\t</main>\n\n\t\t'>, <Block Node: after-main. Contents: []>, <TextNode: '\n\t</div>\n\n\t\t<footer>\n\t\t\t'>, <Block Node: footer. Contents: []>, <TextNode: '\n\t\t</footer>\n\t'>]>, <TextNode: '\n</div>\n\n\n\t'>, <TextNode: '\n\n\t'>, <Block Node: section-navigation. Contents: [<TextNode: '\n\t<nav id="section-naviga'>, <Block Node: previous-section-button. Contents: [<TextNode: '\n\t\t\t\t<a href="'>, <django.template.defaulttags.URLNode object at 0x7fad739a0208>, <TextNode: '">\n\t\t\t\t\t<i class="arrow p'>, <translations.templatetags.translations.DatabaseTranslateNode object at 0x7fad739a0ef0>, <TextNode: '\n\t\t\t\t</a>\n\t\t\t\t'>]>, <TextNode: '\n\n\n\t\t\t</p>\n\t\t</div>\n\n\t\t<d'>, <Block Node: next-section-button. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<a href="'>, <django.template.defaulttags.URLNode object at 0x7fad739a0898>, <TextNode: '">\n\t\t\t\t\t\t\t\t'>, <translations.templatetags.translations.DatabaseTranslateNode object at 0x7fad739a02e8>, <TextNode: '\n\t\t\t\t\t\t\t\t<i class="arrow '>]>, <TextNode: '\n\t\t\t</p>\n\t\t</div>\n\t</nav>'>]>, <TextNode: '\n\t\n\n'>, <Block Node: script-config. Contents: []… <trimmed 5343 bytes string> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <Block Node: container. Contents: [<TextNode: '\n\t<div id="container">\n\t\t'>, <Block Node: before-main. Contents: []>, <TextNode: '\n\n\t\t'>, <Block Node: foundationTitle. Contents: []>, <TextNode: '\n\n\t\t<main>\n\t\t\t'>, <Block Node: main. Contents: [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\t</article>\n\t\t\t\t'>, <Block Node: after-article. Contents: []>, <TextNode: '\n\t\t\t\t</div>\n\n\t\t\t\t'>, <IfNode>, <TextNode: '\n\t\t\t'>]>, <TextNode: '\n\t\t</main>\n\n\t\t'>, <Block Node: after-main. Contents: []>, <TextNode: '\n\t</div>\n\n\t\t<footer>\n\t\t\t'>, <Block Node: footer. Contents: []>, <TextNode: '\n\t\t</footer>\n\t'>]> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/loader_tags.py
in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)…
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
block | <Block Node: container. Contents: [<TextNode: '\n\t<div id="container">\n\t\t'>, <Block Node: before-main. Contents: []>, <TextNode: '\n\n\t\t'>, <Block Node: foundationTitle. Contents: []>, <TextNode: '\n\n\t\t<main>\n\t\t\t'>, <Block Node: main. Contents: [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\t</article>\n\t\t\t\t'>, <Block Node: after-article. Contents: []>, <TextNode: '\n\t\t\t\t</div>\n\n\t\t\t\t'>, <IfNode>, <TextNode: '\n\t\t\t'>]>, <TextNode: '\n\t\t</main>\n\n\t\t'>, <Block Node: after-main. Contents: []>, <TextNode: '\n\t</div>\n\n\t\t<footer>\n\t\t\t'>, <Block Node: footer. Contents: []>, <TextNode: '\n\t\t</footer>\n\t'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7fad73191c18> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
push | <Block Node: container. Contents: [<TextNode: '\n\t<div id="container">\n\t\t'>, <Block Node: before-main. Contents: []>, <TextNode: '\n\n\t\t'>, <Block Node: foundationTitle. Contents: []>, <TextNode: '\n\n\t\t<main>\n\t\t\t'>, <Block Node: main. Contents: [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\t</article>\n\t\t\t\t'>, <Block Node: after-article. Contents: []>, <TextNode: '\n\t\t\t\t</div>\n\n\t\t\t\t'>, <IfNode>, <TextNode: '\n\t\t\t'>]>, <TextNode: '\n\t\t</main>\n\n\t\t'>, <Block Node: after-main. Contents: []>, <TextNode: '\n\t</div>\n\n\t\t<footer>\n\t\t\t'>, <Block Node: footer. Contents: []>, <TextNode: '\n\t\t</footer>\n\t'>]> |
self | <Block Node: container. Contents: [<TextNode: '\n\t<div id="container">\n\t\t'>, <Block Node: before-main. Contents: []>, <TextNode: '\n\n\t\t'>, <Block Node: foundationTitle. Contents: []>, <TextNode: '\n\n\t\t<main>\n\t\t\t'>, <Block Node: main. Contents: [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\t</article>\n\t\t\t\t'>, <Block Node: after-article. Contents: []>, <TextNode: '\n\t\t\t\t</div>\n\n\t\t\t\t'>, <IfNode>, <TextNode: '\n\t\t\t'>]>, <TextNode: '\n\t\t</main>\n\n\t\t'>, <Block Node: after-main. Contents: []>, <TextNode: '\n\t</div>\n\n\t\t<footer>\n\t\t\t'>, <Block Node: footer. Contents: []>, <TextNode: '\n\t\t</footer>\n\t'>]> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n\n\t\t<main>\n\t\t\t' |
bits | ['\n\t<div id="container">\n\t\t', '', '\n\n\t\t', '', '\n\n\t\t<main>\n\t\t\t'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <Block Node: main. Contents: [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\t</article>\n\t\t\t\t'>, <Block Node: after-article. Contents: []>, <TextNode: '\n\t\t\t\t</div>\n\n\t\t\t\t'>, <IfNode>, <TextNode: '\n\t\t\t'>]> |
self | [<TextNode: '\n\t<div id="container">\n\t\t'>, <Block Node: before-main. Contents: []>, <TextNode: '\n\n\t\t'>, <Block Node: foundationTitle. Contents: []>, <TextNode: '\n\n\t\t<main>\n\t\t\t'>, <Block Node: main. Contents: [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\t</article>\n\t\t\t\t'>, <Block Node: after-article. Contents: []>, <TextNode: '\n\t\t\t\t</div>\n\n\t\t\t\t'>, <IfNode>, <TextNode: '\n\t\t\t'>]>, <TextNode: '\n\t\t</main>\n\n\t\t'>, <Block Node: after-main. Contents: []>, <TextNode: '\n\t</div>\n\n\t\t<footer>\n\t\t\t'>, <Block Node: footer. Contents: []>, <TextNode: '\n\t\t</footer>\n\t'>] |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <Block Node: main. Contents: [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\t</article>\n\t\t\t\t'>, <Block Node: after-article. Contents: []>, <TextNode: '\n\t\t\t\t</div>\n\n\t\t\t\t'>, <IfNode>, <TextNode: '\n\t\t\t'>]> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/loader_tags.py
in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)…
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
block | <Block Node: main. Contents: [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\t</article>\n\t\t\t\t'>, <Block Node: after-article. Contents: []>, <TextNode: '\n\t\t\t\t</div>\n\n\t\t\t\t'>, <IfNode>, <TextNode: '\n\t\t\t'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7fad73191c18> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
push | <Block Node: main. Contents: [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\t</article>\n\t\t\t\t'>, <Block Node: after-article. Contents: []>, <TextNode: '\n\t\t\t\t</div>\n\n\t\t\t\t'>, <IfNode>, <TextNode: '\n\t\t\t'>]> |
self | <Block Node: main. Contents: [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\t</article>\n\t\t\t\t'>, <Block Node: after-article. Contents: []>, <TextNode: '\n\t\t\t\t</div>\n\n\t\t\t\t'>, <IfNode>, <TextNode: '\n\t\t\t'>]> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n\t\t\t\t</div>\n\n\t\t\t\t' |
bits | ['\n\n\t\t\t\t<div class="article-wrap">\n\t\t\t\t', '\n' '\t\n' '\t\t<nav class="ancestors">\n' '\t\t\t<ul class="ancestors">\n' '\t\t\t\n' '\t\t\t \n' '\t\t<li class="ancestor3">\n' '\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t<a href="/kuratieren/">M.1 kuratieren\n' '\t\t\t\t\n' '\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t\n' '\t\t\t</a>\n' '\t\t</li>\n' '\n' '\t \t\n' '\t\t\t \n' '\t\t<li class="ancestor2">\n' '\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t<a href="/de/2019-2020/">Künstlerische Leitung M.1 2019/20\n' '\t\t\t\t\n' '\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t\t\n' '\t\t\t\t\t\t(Sascia Bailer)\n' '\t\t\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t\n' '\t\t\t</a>\n' '\t\t</li>\n' '\n' '\t \t\n' '\t\t\t \n' '\t\t<li class="ancestor1">\n' '\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t\n' '\t\t\t\n' '\t\t</li>\n' '\n' '\t \t\n' '\t\t\t \n' '\t\t<li class="ancestor0 last">\n' '\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t<a href="/de/2019-2020/local/care-fur-care-arbeitende/">Care für ' 'Care-Arbeitende\n' '\t\t\t\t\n' '\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t\t<span class="kind">(Workshopreihe)</span>\n' '\t\t\t\t\n' '\t\t\t</a>\n' '\t\t</li>\n' '\n' '\t \t\n' ' </ul>\n' '\t </nav>\n' '\t\n', '\n\n\t\t\t\t<article class="', 'event', '">\n\t\t\t\t\t<header class="article">\n\t\t\t\t\t\t', '\n' '\t\t<hgroup>\n' '\t\t\t<p>\n' '\t\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t28. September 2019<br><span class="time">11–16 Uhr</span>\n' '\t\t\t</p>\n' '\n' '\t\t\t<h1>\n' '\t\t\t\t<span class="title">Innen / Außen</span>\n' '\t\t\t\t\n' '\t\t\t\t\t\n' '\t\t\t\t\t\t<span class="subtitle">\n' '\t\t\t\t\t\t\tEin Workshop zum Thema Vertrauen und Grenzen\n' '<br><i>Was sind die Bedingungen für gegenseitiges Vertrauen?</i>\n' '\t\t\t\t\t\t</span>\n' '\t\t\t\t\t\n' '\t\t\t\t\n' '\t\t\t</h1>\n' '\t\t</hgroup>\n', '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t', '\n' '\t\t\n' '\t\t\t\n' '\t\t\t\t\n' '\t\t\t\t\t\t\n' '\t\t\t\t\t\t\t<section class="artists">\n' '\t\t\t\t\t\t\t\t<h2 class="label">Künstler/innen:</h2>\n' '\t\t\t\t\t\t\t\t\n' '\n' '\n' '\n' '<a href="/de/personen/myriam-lefkowitz/">Myriam Lefkowitz</a>\n' '\t\t\t\t\t\t\t</section>\n' '\t\t\t\t\t\t\n' '\t\t\t\t\n' '\t\t\t\n' '\n' '\t\t\t\n' '\t\t\t\t\t\n' '\t\t\t\n' '\t\t\n' '\n' '\t\t\n' '\n' '\t\t\n' '\t\t\t<section class="main text">\n' '\t\t\t\t\n' '\t\t<div class="plugin richtext default">\n' '\t\t\t\n' '\t\t\t\t<p>Der zweitägige Workshop widmet sich den Themen Vertrauen und ' 'Grenzwahrnehmung sowohl in zwischenmenschlichen Beziehungen als auch in ' 'Bezug auf den öffentlichen Raum, in dem wir uns täglich bewegen. Gerade wenn ' 'wir uns um andere Menschen kümmern, spielt gegenseitiges Vertrauen eine ' 'unabdingbare Rolle. Jedoch verlieren wir uns auch schnell im Prozess der ' 'Fürsorge für andere, und dabei auch die feine Wahrnehmung für uns selbst und ' 'unsere Umgebung. Wie lassen sich ebendiese Bedingungen für gegenseitiges ' 'Vertrauen erforschen, und die Wahrnehmung für unsere Umwelt und unsere ' 'Grenzen besser erspüren?</p> <p>Der erste Teil des Workshops wird im M.1 ' 'stattfinden, für den zweiten Teil werden wir Hohenlockstedt mit einem ' 'experimentellen Spaziergang erkunden: Jeweils ein*e Workshop-Teilnehmer*in ' 'führt eine*n andere*n Teilnehmender*in durch den Ort. Die/der Geführte wird ' 'gebeten, die Augen zu schließen und diese nur auf Anweisung zu öffnen. Das ' 'gemeinsame Gehen steigert das Sinneserlebnis und überträgt die gewohnte ' 'Wahrnehmung des Ortes auf den gesamten Körper. Durch die Berührung des ' 'Geführtwerdens werden die Bedingungen für gegenseitiges Vertrauen und das ' 'Spüren der eigenen Grenzen erforscht und non-verbal ausgehandelt.</p> <p>Das ' 'Format des experimentellen Spaziergangs WALK, HANDS, EYES (HOHENLOCKSTEDT) ' 'teilt Myriam Lefkowitz seit mehr als zehn Jahren an verschiedenen Orten mit ' 'seinen Bewohner*innen – in Paris, Medellin, Venedig, New York, Dhaka; und ' 'nun auch in … <trimmed 7795 bytes string> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <IfNode> |
self | [<TextNode: '\n\n\t\t\t\t<div class="article'>, <Block Node: before-article. Contents: []>, <TextNode: '\n\n\t\t\t\t<article class="'>, <Block Node: article-class. Contents: []>, <TextNode: '">\n\t\t\t\t\t<header class="ar'>, <Block Node: header-content. Contents: [<TextNode: '\n\t\t\t\t\t\t\t<hgroup>\n\t\t\t\t\t\t\t\t'>, <Block Node: title-block. Contents: [<TextNode: '\n\t\t\t\t\t\t\t\t<h1>'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n\t\t\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t\t\t</hgroup>\n\t\t\t\t\t\t'>]>, <TextNode: '\n\t\t\t\t\t</header>\n\n\t\t\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\t</article>\n\t\t\t\t'>, <Block Node: after-article. Contents: []>, <TextNode: '\n\t\t\t\t</div>\n\n\t\t\t\t'>, <IfNode>, <TextNode: '\n\t\t\t'>] |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <IfNode> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/defaulttags.py
in render
match = condition.eval(context)
except VariableDoesNotExist:
match = None
else: # else clause
match = True
if match:
return nodelist.render(context)…
return ''
class LoremNode(Node):
def __init__(self, count, method, common):
Variable | Value |
---|---|
condition | (or (or (literal <django.template.base.FilterExpression object at 0x7fad739a0eb8>) (literal <django.template.base.FilterExpression object at 0x7fad739a0320>)) (literal <django.template.base.FilterExpression object at 0x7fad739a00b8>)) |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
match | True |
nodelist | [<TextNode: '\n\t\t\t\t<aside class="aside-'>, <Block Node: aside. Contents: []>, <TextNode: '\n\t\t\t\t</aside>\n\t\t\t\t'>] |
self | <IfNode> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n\t\t\t\t<aside class="aside-general">\n\t\t\t\t' |
bits | ['\n\t\t\t\t<aside class="aside-general">\n\t\t\t\t'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <Block Node: aside. Contents: []> |
self | [<TextNode: '\n\t\t\t\t<aside class="aside-'>, <Block Node: aside. Contents: []>, <TextNode: '\n\t\t\t\t</aside>\n\t\t\t\t'>] |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <Block Node: aside. Contents: []> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/loader_tags.py
in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)…
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
block | <Block Node: aside. Contents: [<TextNode: '\n\n\t\t\t'>, <IfNode>, <TextNode: '\n\n\t\t\t'>, <IfNode>, <TextNode: '\n\n\t\t\t'>, <IfNode>, <TextNode: '\n\n'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7fad73191c18> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
push | <Block Node: aside. Contents: [<TextNode: '\n\n\t\t\t'>, <IfNode>, <TextNode: '\n\n\t\t\t'>, <IfNode>, <TextNode: '\n\n\t\t\t'>, <IfNode>, <TextNode: '\n\n'>]> |
self | <Block Node: aside. Contents: []> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n\n\t\t\t' |
bits | ['\n\n\t\t\t'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <IfNode> |
self | [<TextNode: '\n\n\t\t\t'>, <IfNode>, <TextNode: '\n\n\t\t\t'>, <IfNode>, <TextNode: '\n\n\t\t\t'>, <IfNode>, <TextNode: '\n\n'>] |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <IfNode> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/defaulttags.py
in render
match = condition.eval(context)
except VariableDoesNotExist:
match = None
else: # else clause
match = True
if match:
return nodelist.render(context)…
return ''
class LoremNode(Node):
def __init__(self, count, method, common):
Variable | Value |
---|---|
condition | (literal <django.template.base.FilterExpression object at 0x7fad736accf8>) |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
match | True |
nodelist | [<TextNode: '\n\t\t\t<aside class="photos"'>, <django.template.library.SimpleNode object at 0x7fad736ac828>, <TextNode: '\n\t\t\t</aside>\n\t\t\t'>] |
self | <IfNode> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n\t\t\t<aside class="photos">\n\t\t\t\t' |
bits | ['\n\t\t\t<aside class="photos">\n\t\t\t\t'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <django.template.library.SimpleNode object at 0x7fad736ac828> |
self | [<TextNode: '\n\t\t\t<aside class="photos"'>, <django.template.library.SimpleNode object at 0x7fad736ac828>, <TextNode: '\n\t\t\t</aside>\n\t\t\t'>] |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <django.template.library.SimpleNode object at 0x7fad736ac828> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/library.py
in render
def __init__(self, func, takes_context, args, kwargs, target_var):
super().__init__(func, takes_context, args, kwargs)
self.target_var = target_var
def render(self, context):
resolved_args, resolved_kwargs = self.get_resolved_arguments(context)
output = self.func(*resolved_args, **resolved_kwargs)…
if self.target_var is not None:
context[self.target_var] = output
return ''
if context.autoescape:
output = conditional_escape(output)
return output
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
resolved_args | [[{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}], <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'photos'] |
resolved_kwargs | {} |
self | <django.template.library.SimpleNode object at 0x7fad736ac828> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/feincms3/templatetags/feincms3_renderer.py
in render_region
{% render_region regions "main" timeout=15 %}
The main advantage of :class:`~feincms3.renderer.Regions` and
``render_region`` is that regions only lazily load plugins when needed,
which means that caching also avoids the related database queries.
"""
return regions.render(region, context, **kwargs)…
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
kwargs | {} |
region | 'photos' |
regions | <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/feincms3/utils.py
in _fn
@wraps(fn)
def _fn(*args, **kwargs):
if len(args) > count:
raise TypeError(
"Only %s positional argument%s allowed"
% (count, "" if count == 1 else "s")
)
return fn(*args, **kwargs)…
return _fn
return _dec
Variable | Value |
---|---|
args | (<content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'photos', [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}]) |
count | 3 |
fn | <function Regions.render at 0x7fad789cc8c8> |
kwargs | {} |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/feincms3/renderer.py
in render
method.
"""
@positional(3)
@wraps(fn)
def render(self, region, context=None, timeout=None, **kwargs):
if timeout is None:
return fn(self, region, context=context, **kwargs)…
key = self.cache_key(region)
html = cache.get(key)
if html is not None:
return html
html = fn(self, region, context=context, **kwargs)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
fn | <function Regions.render at 0x7fad789cc7b8> |
kwargs | {} |
region | 'photos' |
self | <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8> |
timeout | None |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/feincms3/renderer.py
in render
Render a single region using the context passed
If ``timeout`` is ``None`` caching is disabled.
"""
return mark_safe(
"".join(
self._renderer.render_plugin_in_context(plugin, context)
for plugin in self._contents[region]…
)
)
class TemplatePluginRenderer(object):
"""
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
region | 'photos' |
self | <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/feincms3/renderer.py
in <genexpr>
Render a single region using the context passed
If ``timeout`` is ``None`` caching is disabled.
"""
return mark_safe(
"".join(
self._renderer.render_plugin_in_context(plugin, context)
for plugin in self._contents[region]…
)
)
class TemplatePluginRenderer(object):
"""
Variable | Value |
---|---|
.0 | <list_iterator object at 0x7fad737c0940> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
plugin | <ImageScheduleEventPlugin: schedule.ImageScheduleEventPlugin<region=photos ordering=30 pk=34>> |
self | <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/feincms3/renderer.py
in render_plugin_in_context
if isinstance(plugin_template, (list, tuple)):
plugin_template = engine.select_template(plugin_template)
else:
plugin_template = engine.get_template(plugin_template)
with context.push(plugin_context):
return plugin_template.render(context)…
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
engine | <django.template.engine.Engine object at 0x7fad73d3aeb8> |
plugin | <ImageScheduleEventPlugin: schedule.ImageScheduleEventPlugin<region=photos ordering=30 pk=34>> |
plugin_context | {'content': <ImageScheduleEventPlugin: schedule.ImageScheduleEventPlugin<region=photos ordering=30 pk=34>>, 'parent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'style': 'default'} |
plugin_template | <django.template.base.Template object at 0x7fad735b36a0> |
self | <content_plugins.renderer.ContentPluginRenderer object at 0x7fad78984d68> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)
else:
return self._render(context)…
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
is True and an exception occurs during parsing, the exception is
is annotated with contextual line information where it occurred in the
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <django.template.base.Template object at 0x7fad735b36a0> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <django.template.base.Template object at 0x7fad735b36a0> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <ExtendsNode: extends "projects/project/plugins/_image.html"> |
self | [<ExtendsNode: extends "projects/project/plugins/_image.html">] |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <ExtendsNode: extends "projects/project/plugins/_image.html"> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/loader_tags.py
in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)…
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, extra_context=None, isolated_context=False, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7fad734f8c18> |
blocks | {'plugin_class': <Block Node: plugin_class. Contents: [<TextNode: 'thumbnail-slider'>]>, 'plugin_content': <Block Node: plugin_content. Contents: [<TextNode: '\n\t\t\t'>, <WithNode>, <TextNode: '\n\t\t'>]>} |
compiled_parent | <django.template.base.Template object at 0x7fad735b30b8> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <IfNode> |
self | <ExtendsNode: extends "projects/project/plugins/_image.html"> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <django.template.base.Template object at 0x7fad735b30b8> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n\t' |
bits | ['\n\t'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <IfNode> |
self | [<TextNode: '\n\t'>, <IfNode>, <TextNode: '\n'>] |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <IfNode> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/defaulttags.py
in render
match = condition.eval(context)
except VariableDoesNotExist:
match = None
else: # else clause
match = True
if match:
return nodelist.render(context)…
return ''
class LoremNode(Node):
def __init__(self, count, method, common):
Variable | Value |
---|---|
condition | (literal <django.template.base.FilterExpression object at 0x7fad734c0a90>) |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
match | True |
nodelist | [<TextNode: '\n\t <figure class="'>, <Block Node: plugin_class. Contents: [<TextNode: 'thumbnail-slider'>]>, <TextNode: '">\n\t\t'>, <Block Node: plugin_content. Contents: [<TextNode: '\n\t\t\t'>, <WithNode>, <TextNode: '\n\t\t'>]>, <TextNode: '\n\t </figure>\n\t'>] |
self | <IfNode> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '">\n\t\t' |
bits | ['\n\t <figure class="', 'thumbnail-slider', '">\n\t\t'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <Block Node: plugin_content. Contents: [<TextNode: '\n\t\t\t'>, <WithNode>, <TextNode: '\n\t\t'>]> |
self | [<TextNode: '\n\t <figure class="'>, <Block Node: plugin_class. Contents: [<TextNode: 'thumbnail-slider'>]>, <TextNode: '">\n\t\t'>, <Block Node: plugin_content. Contents: [<TextNode: '\n\t\t\t'>, <WithNode>, <TextNode: '\n\t\t'>]>, <TextNode: '\n\t </figure>\n\t'>] |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <Block Node: plugin_content. Contents: [<TextNode: '\n\t\t\t'>, <WithNode>, <TextNode: '\n\t\t'>]> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/loader_tags.py
in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)…
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
block | <Block Node: plugin_content. Contents: [<TextNode: '\n\t\t\t'>, <WithNode>, <TextNode: '\n\t\t'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7fad734f8c18> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
push | <Block Node: plugin_content. Contents: [<TextNode: '\n\t\t\t'>, <WithNode>, <TextNode: '\n\t\t'>]> |
self | <Block Node: plugin_content. Contents: [<TextNode: '\n\t\t\t'>, <WithNode>, <TextNode: '\n\t\t'>]> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n\t\t\t' |
bits | ['\n\t\t\t'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <WithNode> |
self | [<TextNode: '\n\t\t\t'>, <WithNode>, <TextNode: '\n\t\t'>] |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <WithNode> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/defaulttags.py
in render
def __repr__(self):
return '<%s>' % self.__class__.__name__
def render(self, context):
values = {key: val.resolve(context) for key, val in self.extra_context.items()}
with context.push(**values):
return self.nodelist.render(context)…
@register.tag
def autoescape(parser, token):
"""
Force autoescape behavior for this block.
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <WithNode> |
values | {'image': <Image: TF_17_Walk_Hands_Eyes_15_copie.jpg>} |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '">\n\t\t\t\t\t\t\t<div class="photoframe">\n\t\t\t\t\t\t\t\t<img src="' |
bits | ['\n\n\t\t\t\t<div id="gallery', '1841', '" class="image-gallery"\n' '\t\t\t\t\t\tdata-featherlight-gallery\n' '\t\t\t\t\t\tdata-featherlight-variant="black"\n' '\t\t\t\t\t\tdata-featherlight-filter="nav a.thumb">\n' '\t\t\t\t\t\t<figure id="slide', '1841', '">\n\t\t\t\t\t\t\t<div class="photoframe">\n\t\t\t\t\t\t\t\t<img src="'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
node | <Variable Node: image.lightbox_image.url> |
self | [<TextNode: '\n\n\t\t\t\t<div id="gallery'>, <Variable Node: image.pk>, <TextNode: '" class="image-gallery"\n\t'>, <Variable Node: image.pk>, <TextNode: '">\n\t\t\t\t\t\t\t<div class="pho'>, <Variable Node: image.lightbox_image.url>, <TextNode: '">\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t'>, <django.template.loader_tags.IncludeNode object at 0x7fad734ffbe0>, <TextNode: '\n\t\t\t\t\t\t\t</figcaption>\n\t\t\t'>, <Variable Node: image.pk>, <TextNode: '">\n\t\t\t\t\t\t\t\t<img src="'>, <Variable Node: image.gif_lightbox_image.url>, <TextNode: '">\n\t\t\t\t\t\t\t\t<figcaption>\n\t'>, <django.template.loader_tags.IncludeNode object at 0x7fad734cb400>, <TextNode: '\n\t\t\t\t\t\t\t\t</figcaption>\t\t\t'>] |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <Variable Node: image.lightbox_image.url> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in render
self.filter_expression = filter_expression
def __repr__(self):
return "<Variable Node: %s>" % self.filter_expression
def render(self, context):
try:
output = self.filter_expression.resolve(context)…
except UnicodeDecodeError:
# Unicode conversion can fail sometimes for reasons out of our
# control (e.g. exception rendering). In that case, we fail
# quietly.
return ''
return render_value_in_context(output, context)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <Variable Node: image.lightbox_image.url> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in resolve
self.filters = filters
self.var = var_obj
def resolve(self, context, ignore_failures=False):
if isinstance(self.var, Variable):
try:
obj = self.var.resolve(context)…
except VariableDoesNotExist:
if ignore_failures:
obj = None
else:
string_if_invalid = context.template.engine.string_if_invalid
if string_if_invalid:
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
ignore_failures | False |
self | <django.template.base.FilterExpression object at 0x7fad734ffdd8> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in resolve
var)
self.lookups = tuple(var.split(VARIABLE_ATTRIBUTE_SEPARATOR))
def resolve(self, context):
"""Resolve this variable against a given context."""
if self.lookups is not None:
# We're dealing with a variable that needs to be resolved
value = self._resolve_lookup(context)…
else:
# We're dealing with a literal, so it's already been "resolved"
value = self.literal
if self.translate:
is_safe = isinstance(value, SafeData)
msgid = value.replace('%', '%%')
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
self | <Variable: 'image.lightbox_image.url'> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/template/base.py
in _resolve_lookup
# ValueError/IndexError are for numpy.array lookup on
# numpy < 1.9 and 1.9+ respectively
except (TypeError, AttributeError, KeyError, ValueError, IndexError):
try: # attribute lookup
# Don't return class attributes if the class is the context:
if isinstance(current, BaseContext) and getattr(type(current), bit):
raise AttributeError
current = getattr(current, bit)…
except (TypeError, AttributeError):
# Reraise if the exception was raised by a @property
if not isinstance(current, BaseContext) and bit in dir(current):
raise
try: # list-index lookup
current = current[int(bit)]
Variable | Value |
---|---|
bit | 'url' |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'scheduleevent': <ScheduleEvent: Innen / Außen – Ein Workshop zum Thema Vertrauen und Grenzen>, 'view': <app.schedule.views.ScheduleEventDetailView object at 0x7fad735dfd68>, 'regions': <content_plugins.renderer.MultilingualRegions object at 0x7fad734d44a8>, 'projects': <ProjectQuerySet [<Project: Care für Care-Arbeitende>]>, 'artwork': True, 'photos': True, 'aside': False}] |
current | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
self | <Variable: 'image.lightbox_image.url'> |
template_name | 'schedule/scheduleevent_detail.html' |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/imagekit/cachefiles/__init__.py
in url
@property
def path(self):
return self._storage_attr('path')
@property
def url(self):
return self._storage_attr('url')…
def generate(self, force=False):
"""
Generate the file. If ``force`` is ``True``, the file will be generated
whether the file already exists or not.
Variable | Value |
---|---|
self | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/imagekit/cachefiles/__init__.py
in _storage_attr
# require the file to exist; they do not need its contents to work. This
# distinction gives the user the flexibility to create a cache file
# strategy that assumes the existence of a file, but can still make the file
# available when its contents are required.
def _storage_attr(self, attr):
if getattr(self, '_file', None) is None:
existence_required.send(sender=self, file=self)…
fn = getattr(self.storage, attr)
return fn(self.name)
@property
def path(self):
return self._storage_attr('path')
Variable | Value |
---|---|
attr | 'url' |
self | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/dispatch/dispatcher.py
in send
Return a list of tuple pairs [(receiver, response), ... ].
"""
if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS:
return []
return [
(receiver, receiver(signal=self, sender=sender, **named))
for receiver in self._live_receivers(sender)…
]
def send_robust(self, sender, **named):
"""
Send signal from sender to all connected receivers catching errors.
Variable | Value |
---|---|
named | {'file': <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg>} |
self | <django.dispatch.dispatcher.Signal object at 0x7fad7d887668> |
sender | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/dispatch/dispatcher.py
in <listcomp>
Return a list of tuple pairs [(receiver, response), ... ].
"""
if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS:
return []
return [
(receiver, receiver(signal=self, sender=sender, **named))
for receiver in self._live_receivers(sender)…
]
def send_robust(self, sender, **named):
"""
Send signal from sender to all connected receivers catching errors.
Variable | Value |
---|---|
.0 | <list_iterator object at 0x7fad734c0fd0> |
named | {'file': <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg>} |
receiver | <bound method GeneratorRegistry.existence_required_receiver of <imagekit.registry.GeneratorRegistry object at 0x7fad7d8875f8>> |
self | <django.dispatch.dispatcher.Signal object at 0x7fad7d887668> |
sender | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/imagekit/registry.py
in existence_required_receiver
autodiscover()
return self._generators.keys()
def content_required_receiver(self, sender, file, **kwargs):
self._receive(file, 'on_content_required')
def existence_required_receiver(self, sender, file, **kwargs):
self._receive(file, 'on_existence_required')…
def _receive(self, file, callback):
generator = file.generator
# FIXME: I guess this means you can't register functions?
if generator.__class__ in self._generators.values():
Variable | Value |
---|---|
file | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
kwargs | {'signal': <django.dispatch.dispatcher.Signal object at 0x7fad7d887668>} |
self | <imagekit.registry.GeneratorRegistry object at 0x7fad7d8875f8> |
sender | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/imagekit/registry.py
in _receive
def _receive(self, file, callback):
generator = file.generator
# FIXME: I guess this means you can't register functions?
if generator.__class__ in self._generators.values():
# Only invoke the strategy method for registered generators.
call_strategy_method(file, callback)…
class SourceGroupRegistry(object):
"""
The source group registry is responsible for listening to source_* signals
on source groups, and relaying them to the image generated file strategies
Variable | Value |
---|---|
callback | 'on_existence_required' |
file | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
generator | <imagekit.specs.DynamicSpec object at 0x7fad734c0c18> |
self | <imagekit.registry.GeneratorRegistry object at 0x7fad7d8875f8> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/imagekit/utils.py
in call_strategy_method
return f
def call_strategy_method(file, method_name):
strategy = getattr(file, 'cachefile_strategy', None)
fn = getattr(strategy, method_name, None)
if fn is not None:
fn(file)…
def get_cache():
try:
from django.core.cache import caches
except ImportError:
Variable | Value |
---|---|
file | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
fn | <bound method JustInTime.on_existence_required of <imagekit.cachefiles.strategies.JustInTime object at 0x7fad73959d30>> |
method_name | 'on_existence_required' |
strategy | <imagekit.cachefiles.strategies.JustInTime object at 0x7fad73959d30> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/imagekit/cachefiles/strategies.py
in on_existence_required
class JustInTime(object):
"""
A strategy that ensures the file exists right before it's needed.
"""
def on_existence_required(self, file):
file.generate()…
def on_content_required(self, file):
file.generate()
class Optimistic(object):
Variable | Value |
---|---|
file | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
self | <imagekit.cachefiles.strategies.JustInTime object at 0x7fad73959d30> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/imagekit/cachefiles/__init__.py
in generate
def generate(self, force=False):
"""
Generate the file. If ``force`` is ``True``, the file will be generated
whether the file already exists or not.
"""
if force or getattr(self, '_file', None) is None:
self.cachefile_backend.generate(self, force)…
def _generate(self):
# Generate the file
content = generate(self.generator)
actual_name = self.storage.save(self.name, content)
Variable | Value |
---|---|
force | False |
self | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/imagekit/cachefiles/backends.py
in generate
"""
The most basic file backend. The storage is consulted to see if the file
exists. Files are generated synchronously.
"""
def generate(self, file, force=False):
self.generate_now(file, force=force)…
def _exists(self, file):
return bool(getattr(file, '_file', None)
or file.storage.exists(file.name))
Variable | Value |
---|---|
file | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
force | False |
self | <imagekit.cachefiles.backends.Simple object at 0x7fad73959cf8> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/imagekit/cachefiles/backends.py
in generate_now
def generate(self, file, force=False):
raise NotImplementedError
def generate_now(self, file, force=False):
if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS):
self.set_state(file, CacheFileState.GENERATING)
file._generate()…
self.set_state(file, CacheFileState.EXISTS)
file.close()
class Simple(CachedFileBackend):
"""
Variable | Value |
---|---|
file | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
force | False |
self | <imagekit.cachefiles.backends.Simple object at 0x7fad73959cf8> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/imagekit/cachefiles/__init__.py
in _generate
"""
if force or getattr(self, '_file', None) is None:
self.cachefile_backend.generate(self, force)
def _generate(self):
# Generate the file
content = generate(self.generator)…
actual_name = self.storage.save(self.name, content)
# We're going to reuse the generated file, so we need to reset the pointer.
content.seek(0)
Variable | Value |
---|---|
self | <ImageCacheFile: CACHE/images/TF_17_Walk_Hands_Eyes_15_copie/4b7a9ee14c1766b05f734d0af0630688.jpg> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/imagekit/utils.py
in generate
def generate(generator):
"""
Calls the ``generate()`` method of a generator instance, and then wraps the
result in a Django File object so Django knows how to save it.
"""
content = generator.generate()…
f = File(content)
# The size of the File must be known or Django will try to open a file
# without a name and raise an Exception.
f.size = len(content.read())
# After getting the size reset the file pointer for future reads.
content.seek(0)
Variable | Value |
---|---|
generator | <imagekit.specs.DynamicSpec object at 0x7fad734c0c18> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/imagekit/specs/__init__.py
in generate
# TODO: Move into a generator base class
# TODO: Factor out a generate_image function so you can create a generator and only override the PIL.Image creating part. (The tricky part is how to deal with original_format since generator base class won't have one.)
closed = self.source.closed
if closed:
# Django file object should know how to reopen itself if it was closed
# https://code.djangoproject.com/ticket/13750
self.source.open()…
try:
img = open_image(self.source)
new_image = process_image(img,
processors=self.processors,
format=self.format,
Variable | Value |
---|---|
closed | True |
self | <imagekit.specs.DynamicSpec object at 0x7fad734c0c18> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/db/models/fields/files.py
in open
if not self._committed:
return self.file.size
return self.storage.size(self.name)
def open(self, mode='rb'):
self._require_file()
if getattr(self, '_file', None) is None:
self.file = self.storage.open(self.name, mode)…
else:
self.file.open(mode)
return self
# open() doesn't alter the file's contents, but it does reset the pointer
open.alters_data = True
Variable | Value |
---|---|
mode | 'rb' |
self | <ImageFieldFile: TF_17_Walk_Hands_Eyes_15_copie.jpg> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/core/files/storage.py
in open
"""
# The following methods represent a public interface to private methods.
# These shouldn't be overridden by subclasses unless absolutely necessary.
def open(self, name, mode='rb'):
"""Retrieve the specified file from storage."""
return self._open(name, mode)…
def save(self, name, content, max_length=None):
"""
Save new content to the file specified by name. The content should be
a proper File object or any Python file-like object, ready to be read
from the beginning.
Variable | Value |
---|---|
mode | 'rb' |
name | 'TF_17_Walk_Hands_Eyes_15_copie.jpg' |
self | <django.core.files.storage.FileSystemStorage object at 0x7fad737947f0> |
/home/m1/.virtualenvs/m1-live/lib/python3.7/site-packages/django/core/files/storage.py
in _open
return self._value_or_setting(self._file_permissions_mode, settings.FILE_UPLOAD_PERMISSIONS)
@cached_property
def directory_permissions_mode(self):
return self._value_or_setting(self._directory_permissions_mode, settings.FILE_UPLOAD_DIRECTORY_PERMISSIONS)
def _open(self, name, mode='rb'):
return File(open(self.path(name), mode))…
def _save(self, name, content):
full_path = self.path(name)
# Create any intermediate directories that do not exist.
directory = os.path.dirname(full_path)
Variable | Value |
---|---|
mode | 'rb' |
name | 'TF_17_Walk_Hands_Eyes_15_copie.jpg' |
self | <django.core.files.storage.FileSystemStorage object at 0x7fad737947f0> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CSRF_COOKIE | 'K2iLlpu20LW5Edn5aNjfkethxw9lu9CkFz1vFejbHn1QeX8y3yxdp9U1tVQKHXXS' |
CSRF_COOKIE_USED | True |
HTTP_ACCEPT | '*/*' |
HTTP_ACCEPT_ENCODING | 'gzip' |
HTTP_HOST | 'www.m1-hohenlockstedt.de' |
HTTP_REFERER | 'https://www.m1-hohenlockstedt.de/kalender/2019/9/28/ein-workshop-zum-thema-vertrauen/' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '52.90.211.141' |
HTTP_X_FORWARDED_HOST | 'www.m1-hohenlockstedt.de' |
HTTP_X_FORWARDED_PORT | '443' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_FORWARDED_SERVER | '7e7ad32020a9' |
HTTP_X_REAL_IP | '52.90.211.141' |
PATH_INFO | '/de/kalender/2019/9/28/ein-workshop-zum-thema-vertrauen/' |
QUERY_STRING | '' |
REMOTE_ADDR | '10.20.0.131' |
REQUEST_METHOD | 'GET' |
REQUEST_URI | '/de/kalender/2019/9/28/ein-workshop-zum-thema-vertrauen/' |
SCRIPT_NAME | '' |
SERVER_NAME | 'm1-vm1' |
SERVER_PORT | '8000' |
SERVER_PROTOCOL | 'HTTP/1.1' |
uwsgi.core | 0 |
uwsgi.node | b'm1-vm1' |
uwsgi.version | b'2.0.18' |
wsgi.errors | <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'> |
wsgi.file_wrapper | '' |
wsgi.input | <uwsgi._Input object at 0x7fad7da7a9f0> |
wsgi.multiprocess | True |
wsgi.multithread | True |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
local_settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ACTIVATE_LEGACY | False |
ADMINS | () |
ALLOWED_HOSTS | ['localhost', 'www.m1-hohenlockstedt.de', 'm1-hohenlockstedt.de', 'staging.m1-hohenlockstedt.de', 'm1-live.taenzer.work', '10.20.0.198'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | '/home/m1/m1-live' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CKEDITOR_BROWSE_SHOW_DIRS | True |
CKEDITOR_CONFIGS | {'default': {'allowedContent': True, 'autoParagraph': False, 'contentsCss': '/static/css/ckeditor.css', 'extraAllowedContent': 'iframe(*)', 'extraPlugins': 'soft-hyphen-shortcut', 'format_tags': 'h2;h3;p', 'stylesSet': [{'attributes': {'class': 'all-caps'}, 'element': 'span', 'name': 'all caps'}, {'attributes': {}, 'element': 'cite', 'name': 'citation source'}], 'toolbar': 'Custom', 'toolbar_Custom': [['Format', 'RemoveFormat', 'Iframe', 'Styles', 'Blockquote', 'NumberedList', 'BulletedList'], ['Italic', 'Bold', 'Underline', 'Superscript', '-', 'InsertSoftHyphen', '-', 'Link', 'Unlink', '-'], ['Undo', 'Redo'], ['Source']]}} |
CKEDITOR_IMAGE_BACKEND | 'pillow' |
CKEDITOR_UPLOAD_PATH | 'uploads/' |
COMPRESSORS | {'css': 'compressor.css.CssCompressor', 'js': 'compressor.js.JsCompressor'} |
COMPRESS_CACHEABLE_PRECOMPILERS | () |
COMPRESS_CACHE_BACKEND | 'default' |
COMPRESS_CACHE_KEY_FUNCTION | '********************' |
COMPRESS_CLEAN_CSS_ARGUMENTS | '' |
COMPRESS_CLEAN_CSS_BINARY | 'cleancss' |
COMPRESS_CLOSURE_COMPILER_ARGUMENTS | '' |
COMPRESS_CLOSURE_COMPILER_BINARY | 'java -jar compiler.jar' |
COMPRESS_CSS_HASHING_METHOD | 'mtime' |
COMPRESS_DATA_URI_MAX_SIZE | 1024 |
COMPRESS_DEBUG_TOGGLE | None |
COMPRESS_ENABLED | False |
COMPRESS_FILTERS | {'css': ['compressor.filters.css_default.CssAbsoluteFilter'], 'js': ['compressor.filters.jsmin.JSMinFilter']} |
COMPRESS_JINJA2_GET_ENVIRONMENT | <function CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7fad7a253f28> |
COMPRESS_MINT_DELAY | 30 |
COMPRESS_MTIME_DELAY | 10 |
COMPRESS_OFFLINE | False |
COMPRESS_OFFLINE_CONTEXT | {'STATIC_URL': '/static/'} |
COMPRESS_OFFLINE_MANIFEST | 'manifest.json' |
COMPRESS_OFFLINE_TIMEOUT | 31536000 |
COMPRESS_OUTPUT_DIR | 'CACHE' |
COMPRESS_PARSER | 'compressor.parser.AutoSelectParser' |
COMPRESS_PRECOMPILERS | () |
COMPRESS_REBUILD_TIMEOUT | 2592000 |
COMPRESS_ROOT | '/home/m1/m1-live/www/static' |
COMPRESS_STORAGE | 'compressor.storage.CompressorFileStorage' |
COMPRESS_TEMPLATE_FILTER_CONTEXT | {'STATIC_URL': '/static/'} |
COMPRESS_URL | '/static/' |
COMPRESS_URL_PLACEHOLDER | '/__compressor_url_placeholder__/' |
COMPRESS_VERBOSE | False |
COMPRESS_YUGLIFY_BINARY | 'yuglify' |
COMPRESS_YUGLIFY_CSS_ARGUMENTS | '--terminal' |
COMPRESS_YUGLIFY_JS_ARGUMENTS | '--terminal' |
COMPRESS_YUI_BINARY | 'java -jar yuicompressor.jar' |
COMPRESS_YUI_CSS_ARGUMENTS | '' |
COMPRESS_YUI_JS_ARGUMENTS | '' |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': 'localhost', 'NAME': 'm1-beta', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'm1'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | None |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_CONTENT_TYPE | 'text/html' |
DEFAULT_DATE_VARIANT | '' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'news@arthurboskamp-stiftung.de' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'smtp.1und1.de' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'news@arthurboskamp-stiftung.de' |
EMAIL_PORT | 587 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | True |
ENABLE_CURATOR2019_SITE | True |
FEINCMS_USE_PAGE_ADMIN | True |
FILE_CHARSET | 'utf-8' |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | ['shared.utils.locale'] |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
HAYSTACK_CONNECTIONS | {'default': {'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', 'PATH': '/home/m1/m1-live/whoosh_index'}} |
HTML_SANITIZERS | {'default': {'attributes': {'a': ('href', 'name', 'target', 'rel', 'title', 'id'), 'em': ('class',), 'iframe': ('width', 'height', 'src', 'frameborder', 'allow', 'allowfullscreen', 'scrolling', 'frameborder'), 'p': ('class',), 'span': ('class',), 'strong': ('class',)}, 'empty': {'hr', 'br', 'a'}, 'separate': {'li', 'a', 'p'}, 'tags': {'a', 'b', 'blockquote', 'br', 'cite', 'em', 'h2', 'h3', 'hr', 'i', 'iframe', 'li', 'ol', 'p', 'span', 'strong', 'sup', 'u', 'ul'}}, 'm1': {'attributes': {'a': ('href', 'name', 'target', 'rel', 'title', 'id'), 'em': ('class',), 'iframe': ('width', 'height', 'src', 'frameborder', 'allow', 'allowfullscreen', 'scrolling', 'frameborder'), 'p': ('class',), 'span': ('class',), 'strong': ('class',)}, 'empty': {'br', 'iframe', 'a', 'hr', 'p'}, 'separate': {'li', 'a', 'p'}, 'tags': {'a', 'b', 'blockquote', 'br', 'cite', 'em', 'h2', 'h3', 'hr', 'i', 'iframe', 'li', 'ol', 'p', 'span', 'strong', 'sup', 'u', 'ul'}}} |
IGNORABLE_404_URLS | [] |
IMAGEKIT_CACHEFILE_DIR | 'CACHE/images' |
IMAGEKIT_CACHEFILE_NAMER | 'imagekit.cachefiles.namers.hash' |
IMAGEKIT_CACHE_BACKEND | 'default' |
IMAGEKIT_CACHE_PREFIX | 'imagekit:' |
IMAGEKIT_CACHE_TIMEOUT | 300 |
IMAGEKIT_DEFAULT_CACHEFILE_BACKEND | 'imagekit.cachefiles.backends.Simple' |
IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY | 'imagekit.cachefiles.strategies.JustInTime' |
IMAGEKIT_DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
IMAGEKIT_SPEC_CACHEFILE_NAMER | 'imagekit.cachefiles.namers.source_name_as_path' |
IMAGEKIT_USE_MEMCACHED_SAFE_CACHE_KEY | '********************' |
INSTALLED_APPS | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'compass_mixins', 'content_editor', 'content_plugins', 'feincms3', 'haystack', 'imagefield', 'imagekit', 'mptt', 'compressor', 'sass_processor', 'shared.markup', 'shared.multilingual', 'shared.utils', 'solo', 'sortedm2m', 'translations', 'sorl.thumbnail', 'newsletter', 'ckeditor', 'ckeditor_extensions', 'app', 'app.projects', 'app.schedule', 'app.search', 'app.site_pages', 'app.media_archive', 'curator2019.apps.Curator2019Config'] |
INTERNAL_IPS | [] |
LANGUAGES | [('de', 'Deutsch'), ('en', 'English')] |
LANGUAGES_BIDI | ['he', 'ar', 'fa', 'ur'] |
LANGUAGE_CODE | 'de' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
M1 | <class 'app.settings.M1'> |
MANAGERS | [] |
MEDIA_ROOT | '/home/m1/m1-live/data/media' |
MEDIA_URL | '/data/media/' |
MENUMIXIN_MODELS | {'projects.Project': [1, 1, None], 'site_pages.SitePage': [0, 2, (<Q: (NOT (AND: ('slug', 'frontpage')))>, <Q: (AND: ('is_active', True))>)]} |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'requestuser.RequestUserMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NEWSLETTER_BATCH_DELAY | 3600 |
NEWSLETTER_BATCH_SIZE | 4800 |
NEWSLETTER_EMAIL_DELAY | 0.1 |
NEWSLETTER_PUBLISH_IN_ARCHIVE | False |
NEWSLETTER_RICHTEXT_WIDGET | 'ckeditor.widgets.CKEditorWidget' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
PRIVATE_MEDIA_INTERNAL_URL | '/media-archive-x-accel-redirect/' |
PRIVATE_MEDIA_PERMISSIONS | 'm1web.multimedia.permissions.AssetPermissions' |
PRIVATE_MEDIA_ROOT | '/home/m1/m1-live/data/media-private' |
PRIVATE_MEDIA_SERVER | 'private_media.servers.NginxXAccelRedirectServer' |
PRIVATE_MEDIA_URL | '/media-archive/' |
Q | <class 'django.db.models.query_utils.Q'> |
ROOT_URLCONF | 'app.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | False |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | ('HTTP_X_FORWARDED_PROTO', 'https') |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'M.1 Webserver <admin@c--y.net>' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'local_settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SITE_ID | 1 |
SLUG_POPULATE_FORM | 'name_de' |
STATICFILES_DIRS | [] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'sass_processor.finders.CssFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/home/m1/m1-live/www/static' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/m1/m1-live/app/templates'], 'OPTIONS': {'builtins': ['django.templatetags.static'], 'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
THUMBNAIL_HIGH_RESOLUTION | True |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'Europe/Berlin' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TRANSLATABLE_FIELDS | True |
USE_TZ | False |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'app.wsgi.application' |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
YEAR_MONTH_FORMAT | 'F Y' |
You're seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard page generated by the handler for this status code.