[PATCH 2/2] Revert "api: Only provide JSON version of events list"
Daniel Axtens
dja at axtens.net
Sat May 12 02:46:23 AEST 2018
Stephen Finucane <stephen at that.guru> writes:
> This reverts commit 90d9ee14e73e8ec9248e89c788d64867c4a4bb74.
>
> The root cause of this performance issue was not the use of the
> JSONRenderer but rather the population of filter forms. The latter is
> now disabled, meaning we can start using the original renderer.
>
> Signed-off-by: Stephen Finucane <stephen at that.guru>
> Cc: Daniel Axtens <dja at axtens.net>
Acked-by: Daniel Axtens <dja at axtens.net>
I have applied the series; thanks so much for following this up.
Regards,
Daniel
> ---
> patchwork/api/event.py | 15 ---------------
> patchwork/templates/patchwork/event-list.html | 17 -----------------
> 2 files changed, 32 deletions(-)
> delete mode 100644 patchwork/templates/patchwork/event-list.html
>
> diff --git a/patchwork/api/event.py b/patchwork/api/event.py
> index b6626ec7..cce25a75 100644
> --- a/patchwork/api/event.py
> +++ b/patchwork/api/event.py
> @@ -18,13 +18,10 @@
> # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
>
> from collections import OrderedDict
> -import json
>
> from rest_framework.generics import ListAPIView
> from rest_framework.serializers import ModelSerializer
> from rest_framework.serializers import SerializerMethodField
> -from rest_framework.renderers import JSONRenderer
> -from rest_framework.renderers import TemplateHTMLRenderer
>
> from patchwork.api.embedded import CheckSerializer
> from patchwork.api.embedded import CoverLetterSerializer
> @@ -88,21 +85,9 @@ class EventSerializer(ModelSerializer):
> read_only_fields = fields
>
>
> -# The standard template html renderer is broken:
> -# https://github.com/encode/django-rest-framework/issues/5236
> -class JSONListHTMLRenderer(TemplateHTMLRenderer):
> - def get_template_context(self, data, renderer_context):
> - response = renderer_context['response']
> - if response.exception:
> - data['status_code'] = response.status_code
> - return {'data': json.dumps(data, indent=4)}
> -
> -
> class EventList(ListAPIView):
> """List events."""
>
> - renderer_classes = (JSONRenderer, JSONListHTMLRenderer)
> - template_name = 'patchwork/event-list.html'
> serializer_class = EventSerializer
> filter_class = EventFilterSet
> page_size_query_param = None # fixed page size
> diff --git a/patchwork/templates/patchwork/event-list.html b/patchwork/templates/patchwork/event-list.html
> deleted file mode 100644
> index 821c6897..00000000
> --- a/patchwork/templates/patchwork/event-list.html
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -{% extends "base.html" %}
> -
> -{% load person %}
> -{% load static %}
> -
> -{% block title %}Event List{% endblock %}
> -{% block patch_active %}active{% endblock %}
> -
> -{% block body %}
> -
> -<p>Due to a currently undiagnosed issue with django-rest-framework, the browsable API is very CPU intensive and has been disabled. The JSON output is:</p>
> -
> -<pre>
> -{{data}}
> -</pre>
> -
> -{% endblock %}
> --
> 2.14.3
More information about the Patchwork
mailing list