Force evaluation of template responses in frontend

This commit is contained in:
Raphael Michel
2019-06-17 22:59:45 +02:00
parent 99a2fde373
commit ccc662228c
2 changed files with 9 additions and 0 deletions

View File

@@ -1,3 +1,4 @@
from django.template.response import TemplateResponse
from django.urls import resolve from django.urls import resolve
from django_scopes import scope from django_scopes import scope
@@ -29,4 +30,7 @@ class EventMiddleware:
for receiver, r in process_response.send(request.event, request=request, response=response): for receiver, r in process_response.send(request.event, request=request, response=response):
response = r response = r
if isinstance(response, TemplateResponse):
response = response.render()
return response return response

View File

@@ -6,6 +6,7 @@ from django.conf import settings
from django.core.exceptions import PermissionDenied from django.core.exceptions import PermissionDenied
from django.http import Http404 from django.http import Http404
from django.shortcuts import redirect from django.shortcuts import redirect
from django.template.response import TemplateResponse
from django.urls import resolve from django.urls import resolve
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django_scopes import scope from django_scopes import scope
@@ -157,6 +158,10 @@ def _event_view(function=None, require_live=True, require_plugin=None):
response = func(request=request, *args, **kwargs) response = func(request=request, *args, **kwargs)
for receiver, r in process_response.send(request.event, request=request, response=response): for receiver, r in process_response.send(request.event, request=request, response=response):
response = r response = r
if isinstance(response, TemplateResponse):
response = response.render()
return response return response
for attrname in dir(func): for attrname in dir(func):