Ejemplo n.º 1
0
 def _wrapped_view(request, *args, **kwargs):
     enable_instrumentation()
     response = view_func(request, *args, **kwargs)
     disable_instrumentation()
     if isinstance(response, SimpleTemplateResponse):
         # We could use ``SingleTemplateResponse`` to catch both
         # django and restframework responses. Unfortunately
         # the content_type on restframework responses is set
         # very late (render), while at the same time django
         # defaults it to text/html until then.
         try:
             response.render()
         except jinja2.exceptions.TemplateError as err:
             response = SimpleTemplateResponse(
                 template="400.html",
                 context={'messages': [str(err)]},
                 status=400)
             response.render()
     soup = _inject_edition_tools(
         response, request, context=get_edition_tools_context_data())
     if soup:
         # str(soup) instead of soup.prettify() to avoid
         # trailing whitespace on a reformatted HTML textarea
         response.content = str(soup)
     return response
Ejemplo n.º 2
0
 def process_template_response(self, string_template, user=None):
     request = HttpRequest()
     request.user = user
     context = Context({'request': request})
     template = BackendTemplate(Template(string_template).render(context))
     response = SimpleTemplateResponse(template, context)
     response.content = string_template
     mw = ToolbarMiddleware()
     return mw.process_response(request, response).render()
Ejemplo n.º 3
0
 def process_template_response(self, string_template, user=None):
     request = HttpRequest()
     request.user = user
     context = Context({'request': request})
     template = BackendTemplate(Template(string_template).render(context))
     response = SimpleTemplateResponse(template, context)
     response.content = string_template
     mw = ToolbarMiddleware()
     return mw.process_response(request, response).render()
Ejemplo n.º 4
0
 def process_template_response(self, string_template):
     settings.TOOLBAR_INSTANT_UPDATE = False
     request = HttpRequest()
     context = Context({'request': request})
     node = Template(string_template).render(context)
     template = BackendTemplate(node)
     response = SimpleTemplateResponse(template, context)
     response.content = node
     mw = TextMiddleware()
     return mw.process_response(request, response).render()
Ejemplo n.º 5
0
 def process_template_response(self, string_template):
     settings.TOOLBAR_INSTANT_UPDATE = False
     request = HttpRequest()
     context = Context({'request': request})
     node = Template(string_template).render(context)
     template = BackendTemplate(node)
     response = SimpleTemplateResponse(template, context)
     response.content = node
     mw = TextMiddleware()
     return mw.process_response(request, response).render()
Ejemplo n.º 6
0
 def process_template_response(self, name, default=''):
     settings.TOOLBAR_INSTANT_UPDATE = False
     request = HttpRequest()
     context = Context({'request': request})
     node = Template(
         '{%% load text %%}{%% text "%s" "%s" %%}' % (name, default)).render(context)
     template = BackendTemplate(node)
     response = SimpleTemplateResponse(template, context)
     response.content = node
     mw = TextMiddleware()
     return mw.process_template_response(request, response).render()