Table des matières

Django

Servir les fichiers statiques avec Gunicorn

Source

Ajouter dans le fichier urls.py:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
 
urlpatterns += staticfiles_urlpatterns()

Inspecter la base de données pendant les tests

Utiliser un fichier comme base de données SQLite:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'TEST': {
            'NAME': os.path.join(BASE_DIR, 'testdb.sqlite3'),
        }
    }
}

Dans le test, interrompre l'exécution en demandant à l'utilisateur de saisir quelque chose:

input("Regarde la BDD, maintenant !")

Lancer les tests:

python manage.py test --keepdb [préciser le test à exécuter]

Regarder le contenu de la base de données.

Au lieu de placer un input, il est apparemment aussi possible d'hériter de unittest.TestCase au lieu de django.test.TestCase (mais certaines fonctionnalités des tests de Django ne sont alors plus disponibles…).

Accéder aux données initiales d'un formulaire

f = SomeForm()
for r in f.fields:
    print(r, f.fields[r].initial)

Un shell Django avec tous les modules importés

Grâce au paquet pip django-extensions :

python manage.py shell_plus

En ajoutant l'option --print-sql, les requêtes SQL brutes exécutées sont aussi affichées (source).