Как сгенерировать PDF с помощью pyppeteer в Django? Сигнал об ошибке работает только в главном потоке основного интерпретатора
#urls.py
path('pdf/',
views.generate_pdf),
#views.py
from pyppeteer import launch
import os
import asyncio
async def main():
browser = await launch()
page = await browser.newPage()
await page.goto("https://python.org")
await page.waitFor(1000)
await page.pdf({"path": "python.pdf"})
await browser.close()
async def generate_pdf(request):
print("Starting...")
await main()
print("PDF has been taken")
return HttpResponse("PDF has been generated")
Я получил ошибку: сигнал работает только в основном потоке главного интерпретатора.
Он отлично работает при запуске в отдельном Python-файле, но не внутри Django.
Я получил ошибку времени выполнения Этот цикл событий уже запущен.
при использовании
async def generate_training_pdf(request):
asyncio.get_event_loop().run_until_complete(main())
попробуйте это
async def lunch_browser(self):
return await launch(
# to avoid signal error
autoClose= False,
handleSIGINT=False,
handleSIGTERM=False,
handleSIGHUP=False,
ignoreHTTPSErrors=True,
defaultViewport={'width': 1020, 'height': 600}
)