#urls.py
<code>path('pdf/',
views.generate_pdf),
</code>
<code>path('pdf/',
views.generate_pdf),
</code>
path('pdf/',
views.generate_pdf),
#views.py
<code>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")
</code>
<code>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")
</code>
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")
I got an error: signal only works in main thread of the main interpreter.
It works nicely while running in a standalone Python file but not inside Django.
I got a runtime error This event loop is already running.
while using
<code>async def generate_training_pdf(request):
asyncio.get_event_loop().run_until_complete(main())
</code>
<code>async def generate_training_pdf(request):
asyncio.get_event_loop().run_until_complete(main())
</code>
async def generate_training_pdf(request):
asyncio.get_event_loop().run_until_complete(main())
New contributor
Sudip Bhandari is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.