---
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
