import requests from django.conf import settings from django.contrib.auth.mixins import LoginRequiredMixin from django.http.response import HttpResponse, HttpResponseRedirect from django.shortcuts import render from django.views.decorators.csrf import ensure_csrf_cookie from graphene_django.views import GraphQLView from wagtail.admin.views.pages.listing import index as wagtailadmin_explore class PrivateGraphQLView(LoginRequiredMixin, GraphQLView): pass @ensure_csrf_cookie def home(request): if settings.SERVE_VIA_WEBPACK: try: res = requests.get('http://localhost:8080{}'.format(request.get_full_path())) headers = res.headers content_type = headers.get('content-type', 'text/html') return HttpResponse(res.text, content_type=content_type) except Exception as e: print('Can not connect to dev server at http://localhost:8080:', e) return render(request, 'index.html', {}) def override_wagtailadmin_explore_default_ordering(request, parent_page_id): """ Wrap Wagtail's explore view to change the default ordering """ if request.method == 'GET' and 'ordering' not in request.GET: # Display reordering handles by default for children of all Page types. return HttpResponseRedirect(request.path_info + '?ordering=ord') return wagtailadmin_explore(request, parent_page_id=parent_page_id)