
Cache Django
Cache backends, per-view cache, template fragment cache, low-level cache API, cache invalidation
1Quel est le backend de cache par défaut dans Django si aucune configuration n'est spécifiée ?
Quel est le backend de cache par défaut dans Django si aucune configuration n'est spécifiée ?
Réponse
Django utilise par défaut le backend 'LocMemCache' (cache en mémoire locale) qui stocke les données dans le processus Python. Ce backend est simple et rapide mais ne persiste pas entre les redémarrages du serveur et ne partage pas les données entre différents processus. Il est adapté au développement mais pas recommandé pour la production multi-processus.
2Quel décorateur utiliser pour mettre en cache la réponse complète d'une vue pendant 15 minutes ?
Quel décorateur utiliser pour mettre en cache la réponse complète d'une vue pendant 15 minutes ?
Réponse
Le décorateur cache_page de django.views.decorators.cache permet de mettre en cache la réponse HTTP complète d'une vue. Le paramètre est le temps en secondes (15 minutes = 900 secondes). La clé de cache est générée automatiquement à partir de l'URL et des paramètres de requête. Ce décorateur gère aussi les en-têtes HTTP appropriés.
3Quelle est la syntaxe correcte du template tag pour mettre en cache un fragment de template pendant 5 minutes ?
Quelle est la syntaxe correcte du template tag pour mettre en cache un fragment de template pendant 5 minutes ?
Réponse
Le tag {% cache %} permet de mettre en cache un fragment de template. La syntaxe est {% cache timeout cache_name %}...{% endcache %}. Le premier argument est le temps en secondes (300 pour 5 minutes), le second est un nom unique pour identifier ce fragment. Des arguments supplémentaires peuvent être ajoutés pour varier le cache (ex: user.id).
Comment récupérer une valeur du cache avec une valeur par défaut si la clé n'existe pas ?
Quel backend de cache est recommandé pour une application Django en production avec plusieurs instances ?
+17 questions d'entretien
Autres sujets d'entretien Django
Les bases de Python
Python orienté objet
Fondamentaux Django
Models Django - Bases
Vues Django
Templates Django
Formulaires Django
QuerySets avancés
Authentification Django
Middleware Django
Admin Django
Django REST Framework
Signaux Django
Upload de fichiers
Sessions Django
Email Django
Tests Django
Sécurité Django
Déploiement Django
ORM Django avancé
Performance Django
Django & Celery
Django Channels
Django & GraphQL
Django & Docker
Django dans un écosystème Microservices
Commandes Django personnalisées
Internationalisation Django
Design Patterns Django
Django Async & ASGI
Settings & Configuration Production
Observabilité & Monitoring
Maîtrise Django pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement