--- title: Outils Django author: Steve Kossouho --- # Outils supplémentaires Django ---- ## Informations avancées de débogage en développement Même si ce n'est pas nécessaire, il peut être intéressant pour un développeur Django d'avoir à disposition, lorsqu'il teste ses vues, des informations sur les performances de sa vue : temps d'exécution, temps d'exécution des requêtes de base de données, templates utilisés etc. [django-debug-toolbar](https://django-debug-toolbar.readthedocs.io/en/latest/) ---- ## Générer des graphiques (charts) - [django-chartjs](https://django-chartjs.readthedocs.io/en/latest/) - [django-slick-reporting](https://django-slick-reporting.readthedocs.io/en/latest/) ---- ## Afficher des données en table et filtrer - django-tables2 : Afficher des tableaux depuis des modèles - django-filter : Pouvoir filtrer un queryset via un formulaire ---- ## Convertir une page HTML en PDF Il existe quelques outils pour convertir des pages web HTML en ligne vers des fichiers PDF. On utilise généralement des outils d'automatisation de navigateur, tels que Selenium. `Playwright` est actuellement l'un des outils les plus aboutis pour automatiser un navigateur. [Playwright](https://playwright.dev/python/docs/intro) ---- ```bash pip install playwright ``` Installer playwright nécessite au moins 500 Mo d'espace libre sur votre système de fichiers. ---- ```python from argparse import ArgumentParser from playwright.sync_api import sync_playwright with sync_playwright() as pw: browser = pw.chromium.launch() context = browser.new_context() page = context.new_page() # ouvre un onglet page.goto("protocol://url") page.pdf(format="A4", print_background=True, scale=1.0, path=f"filename.pdf") browser.close() ``` Exemple d'automatisation