У меня есть проект 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.