Как заставить хром безголово ждать, пока в ответе не будут указаны данные из вызова выборки - PullRequest
2 голосов
/ 06 июня 2019

У меня есть проект Django, и недавно я пытаюсь преобразовать интерфейс, чтобы он реагировал по одному представлению за раз.Я использую Django-hardcopy (https://github.com/loftylabs/django-hardcopy), чтобы создать для меня отчет в формате pdf, который работал для шаблонов Django.

Но теперь, когда я использую реагирование, Chrome Headless не ждет до получениявызов завершен, и просто печатает пустую страницу в pdf, так как реагирует первый, отображающий элемент DOM (поэтому данные по-прежнему не извлекаются).

Я прошел через некоторые ответы StackOverflow, например, используя

--virtual-time-budget=10000

Но не сработало. Я пытался отложить просмотр отчета с помощью

import time
time.sleep(5) 

Я действительно не могу использовать реагировать для рендеринга PDF в данный момент из-за некоторых других ограничений.

Есть лилюбой способ сделать это?

Если вам, ребята, нужна дополнительная информация, дайте мне знать.

Просто обзор кода, который у меня есть: views.py

class ReportView(LoginRequiredMixin, PDFViewMixin):
   def get_context_data(self, pk, **kwargs):
             ....

mytemplate.html

<div class="react-baseline-div">
<div id="baseline-energy-root"></div>
</div>

{% compress js %}
<script src="{% static 'react/build_files/_reactify.js' %}"></script>
<script src="/static/react/build_files/baseline_energy.chunk.js"></script>
<script src="/static/react/build_files/main.baseline_energy.chunk.js"></script>
{% endcompress %}

В нем есть файлы сборки build и <div>, который подключается к приложению реагирует (приложение реагирует отлично). Только не в pdf.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...