Réglages

Avertissement

Soyez prudent lorsque vous surchargez les réglages, particulièrement quand la valeur par défaut est un tuple ou un dictionnaire non vide, comme MIDDLEWARE_CLASSES et TEMPLATE_CONTEXT_PROCESSORS. Prenez soin de conserver les composants requis par les fonctionnalités de Django que vous souhaitez utiliser.

Réglages disponibles

Vous trouverez ici une liste complète des réglages disponibles, par ordre alphabétique, ainsi que leur valeur par défaut.

ABSOLUTE_URL_OVERRIDES

Valeur par défaut : {} (dictionnaire vide)

Un dictionnaire faisant correspondre des chaînes du style "étiquette_app.nom_modèle" à des fonctions qui acceptent un objet de modèle et renvoient son URL. C’est une façon de surcharger les méthodes get_absolute_url() en fonction de l’installation. Par exemple :

ABSOLUTE_URL_OVERRIDES = {
    'blogs.weblog': lambda o: "/blogs/%s/" % o.slug,
    'news.story': lambda o: "/stories/%s/%s/" % (o.pub_year, o.slug),
}

Notez que le nom de modèle utilisé dans ce réglage doit être tout en minuscules, quelle que soit la casse du nom de la classe modèle réelle.

ADMIN_FOR

Valeur par défaut : () (tuple vide)

Utilisé par les modules de réglages de sites d’administration, ce réglage doit être un tuple de modules de réglages (dans la forme 'foo.bar.baz') pour lesquels ce site est administrateur.

Le site d’administration utilise ce réglage dans la documentation automatiquement générée des modèles, vues et balises de gabarit.

ADMINS

Valeur par défaut : () (tuple vide)

Un tuple qui énumère les personnes qui reçoivent les notifications d’erreurs dans le code. Lorsque DEBUG=False et qu’une vue lève une exception, Django envoie un courriel à ces personnes contenant les informations complètes de l’exception. Chaque membre de ce tuple doit aussi être un tuple au format « (nom complet, adresse électronique) ». Exemple :

(('John', 'john@example.com'), ('Mary', 'mary@example.com'))

Notez que Django envoie un courriel à toutes ces personnes lors de chaque erreur. Consultez Signalement d’erreurs pour plus d’informations.

ALLOWED_HOSTS

Valeur par défaut : [] (liste vide)

Une liste de chaînes représentant des noms de domaine/d’hôte que ce site Django peut servir. C’est une mesure de sécurité pour empêcher un attaquant d’empoisonner les caches et les courriels de réinitialisation de mot de passe avec des liens vers des sites malicieux en soumettant des requêtes avec un en-tête HTTP Host contrefait, ce qui est possible même avec bien des configurations de serveur Web apparemment sécurisées.

Les valeurs de cette liste peuvent être des noms complètement qualifiés (par ex. 'www.example.com'), auquel cas ils seront comparés exactement (insensible à la casse, port exclu) avec l’en-tête Host de la requête. Une valeur commençant par un point peut être utilisée comme métacaractère de sous-domaine : '.example.com' correspondra à example.com, www.example.com, et tout autre sous-domaine de example.com. Une valeur '*' correspond à tout ; dans ce cas, vous êtes responsable de fournir votre propre validation de l’en-tête Host (éventuellement dans un middleware ; dans ce cas, le middleware doit figurer en premier dans MIDDLEWARE_CLASSES).

Si l’en-tête Host (ou X-Forwarded-Host quand USE_X_FORWARDED_HOST est actif) ne correspond à aucune valeur de cette liste, la méthode django.http.HttpRequest.get_host() lèvera SuspiciousOperation.

Lorsque DEBUG vaut True ou lors de l’exécution des tests, la validation d’hôte est désactivée ; tout hôte sera accepté. En principe, il ne doit être défini qu’en production.

Cette validation ne s’applique qu’avec get_host() ; si votre code accède directement à l’en-tête Host dans request.META, vous outrepassez cette protection de sécurité.

ALLOWED_INCLUDE_ROOTS

Valeur par défaut : () (tuple vide)

Un tuple de chaînes représentant les préfixes autorisés pour la balise de gabarit {% ssi %}. C’est une mesure de sécurité pour que les auteurs de gabarits ne puissent pas accéder à des fichiers auxquels ils ne devraient pas avoir accès.

Par exemple, si ALLOWED_INCLUDE_ROOTS vaut ('/home/html', '/var/www'), {% ssi /home/html/foo.txt %} fonctionne, mais pas {% ssi /etc/passwd %}.

APPEND_SLASH

Valeur par défaut : True

Si défini à True et que l’URL de la requête ne correspond à aucun des motifs de l’URLconf et que l’URL ne se termine pas par une barre oblique (slash), Django effectue une redirection HTTP vers la même URL additionnée d’une barre oblique finale. Notez que la redirection peut causer la perte d’éventuelles données envoyées avec une requête POST.

Le réglage APPEND_SLASH n’est utilisé que si CommonMiddleware est installé (voir Middleware). Voir aussi PREPEND_WWW.

AUTHENTICATION_BACKENDS

Valeur par défaut : ('django.contrib.auth.backends.ModelBackend',)

Un tuple de classes de moteurs d’authentification (sous forme de chaînes) à utiliser durant la tentative d’authentification d’un utilisateur. Consultez la documentation sur les moteurs d’authentification pour plus de détails.

AUTH_USER_MODEL

Valeur par défaut : ‘auth.User’

Le modèle à utiliser pour représenter un utilisateur. Voir Substitution par un modèle User personnalisé.

CACHES

Valeur par défaut :

{
    'default': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
    }
}

Un dictionnaire contenant les réglages de tous les caches à utiliser avec Django. C’est un dictionnaire imbriqué dont les contenus sont une correspondance entre les alias des caches et un dictionnaire contenant les options de chacun des caches.

Le réglage CACHES doit configurer un cache default (par défaut) ; il est possible d’ajouter autant d’autres caches que souhaité. Si vous utilisez un moteur de cache autre que le cache de mémoire locale ou que vous deviez définir plusieurs caches, d’autres options devront être ajoutées. Les options de cache suivantes sont disponibles.

BACKEND

Valeur par défaut : '' (Chaîne vide)

Le moteur de cache à utiliser. Les moteurs de cache intégrés à Django sont :

  • 'django.core.cache.backends.db.DatabaseCache'
  • 'django.core.cache.backends.dummy.DummyCache'
  • 'django.core.cache.backends.filebased.FileBasedCache'
  • 'django.core.cache.backends.locmem.LocMemCache'
  • 'django.core.cache.backends.memcached.MemcachedCache'
  • 'django.core.cache.backends.memcached.PyLibMCCache'

Vous pouvez utiliser un moteur de cache non livré avec Django en définissant BACKEND à un chemin complètement qualifié d’une classe de moteur de cache (par ex. monpaquet.moteurs.quelquechose.MonCache). L’écriture d’un tout nouveau moteur de cache à partir de zéro est laissé comme exercice au lecteur ; examinez les autres moteurs comme exemples.

KEY_FUNCTION

Une chaîne contenant un chemin pointé vers une fonction qui définit la manière de composer un préfixe, une version et une clé pour former une clé de cache finale. L’implémentation par défaut est équivalente à la fonction :

def make_key(key, key_prefix, version):
    return ':'.join([key_prefix, str(version), key])

Vous pouvez utiliser n’importe quelle fonction de clé, tant que la signature des paramètres est la même.

Consultez la documentation du cache pour plus d’informations.

KEY_PREFIX

Valeur par défaut : '' (Chaîne vide)

Une chaîne qui sera automatiquement incluse (préfixée par défaut) à toutes les clés de cache utilisées par le serveur Django.

Consultez la documentation du cache pour plus d’informations.

LOCATION

Valeur par défaut : '' (Chaîne vide)

L’emplacement du cache. Cela peut être un répertoire pour un cache en système de fichiers, un hôte et un port pour le moteur memcache, ou simplement un identifiant pour un cache en mémoire locale, par ex. :

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
        'LOCATION': '/var/tmp/django_cache',
    }
}

OPTIONS

Valeur par défaut : None

Paramètres supplémentaires à transmettre au moteur de cache. Les paramètres disponibles varient en fonction du moteur de cache.

Certaines informations sur les paramètres disponibles peuvent être trouvées dans la documentation des moteurs de cache. Pour plus d’informations, consultez la documentation propre au module du moteur utilisé.

TIMEOUT

Valeur par défaut : 300

Le nombre de secondes avant qu’un élément en cache soit considéré comme périmé.

VERSION

Valeur par défaut : 1

Le numéro de version par défaut des clés de cache générées par le serveur Django.

Consultez la documentation du cache pour plus d’informations.

CACHE_MIDDLEWARE_ALIAS

Valeur par défaut : default

La connexion de cache à utiliser par le middleware de cache.

CACHE_MIDDLEWARE_ANONYMOUS_ONLY

Valeur par défaut : False

Si la valeur de ce réglage vaut True, seules les requêtes anonymes (celles qui n’ont pas un utilisateur authentifié comme source) seront mises en cache. Sinon, le middleware met en cache toute page qui ne possède ni paramètre GET, ni paramètre POST.

Si vous définissez la valeur de ce réglage à True, vous devez vérifiez que vous avez bien activé AuthenticationMiddleware.

Voir L’infrastructure de cache dans Django.

CACHE_MIDDLEWARE_KEY_PREFIX

Valeur par défaut : '' (Chaîne vide)

Le préfixe de clé de cache que le middleware de cache doit utiliser.

Voir L’infrastructure de cache dans Django.

CACHE_MIDDLEWARE_SECONDS

Valeur par défaut : 600

Le nombre de secondes correspondant à la durée par défaut de mise en cache d’une page lors de l’utilisation du middleware de cache ou du décorateur cache_page().

Voir L’infrastructure de cache dans Django.

CSRF_FAILURE_VIEW

Valeur par défaut : 'django.views.csrf.csrf_failure'

Un chemin pointé vers la fonction Vue à utiliser lorsqu’une requête entrante est rejetée par la protection CSRF. La fonction doit avoir cette signature :

def csrf_failure(request, reason="")

reason est un bref message (à l’intention des développeurs ou de la journalisation, par pour les utilisateurs finaux) indiquant la raison du rejet de la requête. Voir Cross Site Request Forgery protection.

DATABASES

Valeur par défaut : {} (dictionnaire vide)

Un dictionnaire contenant les réglages de toutes les bases de données à utiliser avec Django. C’est un dictionnaire imbriqué dont les contenus font correspondre des alias de bases de données avec un dictionnaire contenant les options de chacune des bases de données.

Le réglage DATABASES doit configurer une base de données default; il est possible de définir autant de bases de données que nécessaire.

Le fichier de réglages le plus simple possible est destiné à une configuration à base de données unique utilisant le moteur SQLite. Cela peut être configuré de cette façon :

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'mydatabase'
    }
}

Pour d’autres moteurs de bases de données ou des configurations SQLite plus complexes, d’autres options seront nécessaires. Les options internes suivantes sont disponibles.

ENGINE

Valeur par défaut : '' (Chaîne vide)

Le moteur de base de données à utiliser. Les moteurs de base de données intégrés à Django sont :

  • 'django.db.backends.postgresql_psycopg2'
  • 'django.db.backends.mysql'
  • 'django.db.backends.sqlite3'
  • 'django.db.backends.oracle'

Vous pouvez utiliser un moteur de base de données qui n’est pas livré avec Django en définissant ENGINE à un chemin complètement qualifié (ex : monpaquet.moteurs.quelquechose). L’écriture d’un nouveau moteur de base de données à partir de zéro est laissé comme exercice au lecteur ; examinez les autres moteurs comme exemples.

HOST

Valeur par défaut : '' (Chaîne vide)

L’hôte à utiliser lors de la connexion à la base de données. Une chaîne vide signifie localhost. Non utilisé avec SQLite.

Si cette valeur commence par une barre oblique ('/') et que vous utilisez MySQL, MySQL se connectera par un connecteur Unix au connecteur indiqué. Par exemple :

"HOST": '/var/run/mysql'

Si vous utilisez MySQL et que cette valeur ne commence pas par une barre oblique, Django part du principe que la valeur est un hôte.

If you’re using PostgreSQL, by default (empty HOST), the connection to the database is done through UNIX domain sockets (‘local’ lines in pg_hba.conf). If your UNIX domain socket is not in the standard location, use the same value of unix_socket_directory from postgresql.conf. If you want to connect through TCP sockets, set HOST to ‘localhost’ or ‘127.0.0.1’ (‘host’ lines in pg_hba.conf). On Windows, you should always define HOST, as UNIX domain sockets are not available.

NAME

Valeur par défaut : '' (Chaîne vide)

Le nom de la base de données à utiliser. Pour SQLite, c’est le chemin complet vers le fichier de la base de données. Quand un chemin est indiqué, utilisez toujours des barres obliques vers l’avant, même sur Windows (par ex. C:/homes/user/mysite/sqlite3.db).

OPTIONS

Valeur par défaut : {} (dictionnaire vide)

Des paramètres supplémentaires à utiliser lors de la connexion à la base de données. Les paramètres disponibles varient en fonction du moteur de base de données.

Certaines informations sur les paramètres disponibles peuvent être trouvées dans la documentation des moteurs de base de données. Pour plus d’informations, consultez la documentation propre au module du moteur utilisé.

PASSWORD

Valeur par défaut : '' (Chaîne vide)

Le mot de passe à utiliser lors de la connexion à la base de données. Non utilisé avec SQLite.

PORT

Valeur par défaut : '' (Chaîne vide)

Le port à utiliser lors de la connexion à la base de données. Une chaîne vide signifie le port par défaut. Non utilisé avec SQLite.

USER

Valeur par défaut : '' (Chaîne vide)

Le nom d’utilisateur à utiliser lors de la connexion à la base de données. Non utilisé avec SQLite.

TEST_CHARSET

Valeur par défaut : None

Le codage de caractères utilisé pour créer la base de données de test. La valeur de cette chaîne est passée directement à la base de données, son format est donc dépendant du moteur.

Pris en charge pour les moteurs PostgreSQL (postgresql_psycopg2) et MySQL (mysql).

TEST_COLLATION

Valeur par défaut : None

L’ordre de collation à utiliser lors de la création de la base de données de test. Cette value est directement transmise au moteur, son format est donc spécifique au moteur.

Pris en charge uniquement pour le moteur mysql (consultez le manuel de MySQL pour plus de détails).

TEST_DEPENDENCIES

Valeur par défaut : ['default'], pour toutes les bases de données, excepté default qui n’a pas de dépendances.

Les dépendances d’ordre de création de la base de données. Consultez la documentation sur le contrôle de l’ordre de création des bases de données de test pour plus de détails.

TEST_MIRROR

Valeur par défaut : None

L’alias de la base de données que cette base de données doit refléter durant les tests.

Ce réglage existe pour permettre de tester des configurations maître-esclaves de plusieurs bases de données. Consultez la documentation sur le test de configurations maître-esclaves pour plus de détails.

TEST_NAME

Valeur par défaut : None

Le nom de la base de données à utiliser lors du fonctionnement de la suite de tests.

Si la valeur par défaut (None) est utilisée avec le moteur de base de données SQLite, les tests utiliseront une base de données en mémoire vive. Pour tous les autres moteurs de base de données, la base de données de test sera nommée 'test_' + DATABASE_NAME.

Voir The test database.

TEST_CREATE

Valeur par défaut : True

Ce paramètre est spécifique à Oracle.

S’il est défini à False, l’espace de tables de test ne sera pas automatiquement créé au début des tests, ni supprimé à la fin.

TEST_USER

Valeur par défaut : None

Ce paramètre est spécifique à Oracle.

Le nom d’utilisateur à utiliser lors de la connexion à la base de données Oracle durant les tests. Si non fourni, Django utilise 'test_' + USER.

TEST_USER_CREATE

Valeur par défaut : True

Ce paramètre est spécifique à Oracle.

Si défini à False, l’utilisateur test ne sera pas automatiquement créé au début des tests, ni supprimé à la fin.

TEST_PASSWD

Valeur par défaut : None

Ce paramètre est spécifique à Oracle.

Le mot de passe à utiliser lors de la connexion à la base de données Oracle durant les tests. Si non fourni, Django utilise une valeur par défaut fixe.

TEST_TBLSPACE

Valeur par défaut : None

Ce paramètre est spécifique à Oracle.

Le nom de l’espace de tables utilisé lors des tests. Si non fourni, Django utilise 'test_' + NAME.

TEST_TBLSPACE_TMP

Valeur par défaut : None

Ce paramètre est spécifique à Oracle.

Le nom de l’espace de tables temporaire utilisé lors des tests. Si non fourni, Django utilise 'test_' + NAME + '_temp'.

DATABASE_ROUTERS

Valeur par défaut : [] (liste vide)

La liste des routeurs utilisés pour déterminer à quelle base de données il faut accéder lors de l’exécution de requêtes de base de données.

Consultez la documentation sur le routage automatique des bases de données dans des configurations à plusieurs bases.

DATE_FORMAT

Valeur par défaut : 'N j, Y' (ex . : Feb. 4, 2003)

Le format par défaut pour l’affichage des champs dates dans les différentes parties du système. Notez que si USE_L10N est défini à True, le format piloté par la locale a une priorité plus élevée et remplacera ce format. Voir les chaînes de format de date autorisées.

Voir aussi DATETIME_FORMAT, TIME_FORMAT et SHORT_DATE_FORMAT.

DATE_INPUT_FORMATS

Valeur par défaut :

(
    '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06'
    '%b %d %Y', '%b %d, %Y',            # 'Oct 25 2006', 'Oct 25, 2006'
    '%d %b %Y', '%d %b, %Y',            # '25 Oct 2006', '25 Oct, 2006'
    '%B %d %Y', '%B %d, %Y',            # 'October 25 2006', 'October 25, 2006'
    '%d %B %Y', '%d %B, %Y',            # '25 October 2006', '25 October, 2006'
)

Un tuple de formats qui seront acceptés lors de la saisie de données dans un champ date. Les formats seront testés dans l’ordre et le premier correspondant sera utilisé. Notez que ces chaînes de format utilisent la syntaxe du module datetime de Python, et non pas celle des chaînes de format de la balise de gabarit date.

Lorsque USE_L10N vaut True, le format piloté par la locale a une priorité plus élevée et remplace ce format.

Voir aussi DATETIME_INPUT_FORMATS et TIME_INPUT_FORMATS.

DATETIME_FORMAT

Valeur par défaut : 'N j, Y, P' (ex. Feb. 4, 2003, 4 p.m.)

Le format par défaut pour l’affichage des champs dates/heures dans les différentes parties du système. Notez que si USE_L10N est défini à True, le format piloté par la locale a une priorité plus élevée et remplacera ce format. Voir les chaînes de format de date autorisées.

Voir aussi DATE_FORMAT, TIME_FORMAT et SHORT_DATETIME_FORMAT.

DATETIME_INPUT_FORMATS

Valeur par défaut :

(
    '%Y-%m-%d %H:%M:%S',     # '2006-10-25 14:30:59'
    '%Y-%m-%d %H:%M:%S.%f',  # '2006-10-25 14:30:59.000200'
    '%Y-%m-%d %H:%M',        # '2006-10-25 14:30'
    '%Y-%m-%d',              # '2006-10-25'
    '%m/%d/%Y %H:%M:%S',     # '10/25/2006 14:30:59'
    '%m/%d/%Y %H:%M:%S.%f',  # '10/25/2006 14:30:59.000200'
    '%m/%d/%Y %H:%M',        # '10/25/2006 14:30'
    '%m/%d/%Y',              # '10/25/2006'
    '%m/%d/%y %H:%M:%S',     # '10/25/06 14:30:59'
    '%m/%d/%y %H:%M:%S.%f',  # '10/25/06 14:30:59.000200'
    '%m/%d/%y %H:%M',        # '10/25/06 14:30'
    '%m/%d/%y',              # '10/25/06'
)

Un tuple de formats qui seront acceptés lors de la saisie de données dans un champ date/heure. Les formats seront testés dans l’ordre et le premier correspondant sera utilisé. Notez que ces chaînes de format utilisent la syntaxe du module datetime de Python, et non pas celle des chaînes de format de la balise de gabarit date.

Lorsque USE_L10N vaut True, le format piloté par la locale a une priorité plus élevée et remplace ce format.

Voir aussi DATE_INPUT_FORMATS et TIME_INPUT_FORMATS.

DEBUG

Valeur par défaut : False

Une valeur booléenne qui active ou désactive le mode de débogage.

Ne déployez jamais de site en production avec le réglage DEBUG activé.

Avez-vous bien lu ? Ne JAMAIS déployer un site en production avec le réglage DEBUG activé.

L’une des fonctionnalités principales du mode de débogage est l’affichage de pages d’erreur détaillées. Si votre application lève une exception quand DEBUG vaut True, Django affiche une trace détaillée, y compris de nombreuses métadonnées au sujet de votre environnement, comme par exemple la liste complète des réglages Django en vigueur (tirés de settings.py).

Comme mesure de sécurité, Django n’affiche pas les réglages pouvant comporter des données sensibles (ou offensantes), comme SECRET_KEY ou PROFANITIES_LIST. Plus précisément, il exclut tout réglage dont le nom contient l’un des éléments suivants :

  • 'API'
  • 'KEY'
  • 'PASS'
  • 'PROFANITIES_LIST'
  • 'SECRET'
  • 'SIGNATURE'
  • 'TOKEN'
Changed in Django 1.4.

Notez qu’il s’agit de correspondances partielles. 'PASS' va aussi intercepter PASSWORD, comme 'TOKEN' interceptera TOKENIZED et ainsi de suite.

Toutefois, notez qu’il y aura toujours des parties de l’affichage de débogage qui contiennent des éléments inappropriés pour le tout public. Des chemins de fichiers, des options de configuration et d’autres choses semblables peuvent tous donner à des attaquants des informations supplémentaires au sujet de votre serveur.

Il est aussi important de se rappeler que lorsque un site fonctionne en mode DEBUG, Django mémorise chaque requête SQL qu’il exécute. C’est utile lors de séances de débogage, mais cela va assez rapidement consommer beaucoup de mémoire sur un serveur de production.

Finally, if DEBUG is False, you also need to properly set the ALLOWED_HOSTS setting. Failing to do so will result in all requests being returned as “Bad Request (400)”.

DEBUG_PROPAGATE_EXCEPTIONS

Valeur par défaut : False

Si défini à True, la gestion normale des exceptions par Django pour les fonctions de vue sera supprimée et les exceptions vont donc se propager. Cela peut être utile pour certaines configurations de test, mais ne devrait jamais être activé sur un site en production.

DECIMAL_SEPARATOR

Valeur par défaut : '.' (point)

Séparateur décimal par défaut utilisé lors du formatage des nombres à virgule.

Notez que lorsque USE_L10N vaut True, le format piloté par la locale a une priorité plus élevée et remplace ce séparateur.

Voir aussi NUMBER_GROUPING, THOUSAND_SEPARATOR et USE_THOUSAND_SEPARATOR.

DEFAULT_CHARSET

Valeur par défaut : 'utf-8'

Codage de caractères par défaut utilisé pour tous les objets HttpResponse si un type MIME n’est pas manuellement indiqué. Utilisé conjointement avec DEFAULT_CONTENT_TYPE pour construire l’en-tête Content-Type.

DEFAULT_CONTENT_TYPE

Valeur par défaut : 'text/html'

Type de contenu par défaut utilisé pour tous les objets HttpResponse si un type MIME n’est pas manuellement indiqué. Utilisé conjointement avec DEFAULT_CHARSET pour construire l’en-tête Content-Type.

DEFAULT_EXCEPTION_REPORTER_FILTER

Valeur par défaut : django.views.debug.SafeExceptionReporterFilter

Classe de filtre de rapports d’exception utilisée par défaut si aucune n’a été attribuée à l’instance HttpRequest. Voir Filtrage des rapports d’erreur.

DEFAULT_FILE_STORAGE

Valeur par défaut : django.core.files.storage.FileSystemStorage

Classe de stockage de fichiers utilisée par défaut pour toute opération liée à des fichiers quand un système de stockage n’est pas explicitement indiqué. Voir Gestion des fichiers.

DEFAULT_FROM_EMAIL

Valeur par défaut : 'webmaster@localhost'

Adresse électronique utilisée par défaut pour diverses correspondances automatisées en provenance du ou des gestionnaires du site.

DEFAULT_INDEX_TABLESPACE

Valeur par défaut : '' (Chaîne vide)

Espace de tables utilisé par défaut pour les index sur les champs qui n’en indiquent pas, si le moteur les prend en charge (voir Espaces de tables).

DEFAULT_TABLESPACE

Valeur par défaut : '' (Chaîne vide)

Espace de tables utilisé par défaut pour les modèles qui n’en indiquent pas, si le moteur les prend en charge (voir Espaces de tables).

DISALLOWED_USER_AGENTS

Valeur par défaut : () (tuple vide)

Liste d’objets d’expressions régulières compilées représentant des chaînes d’agent utilisateur (User-Agent) qui ne sont globalement pas autorisés à visiter le site. Utile pour les robots ou les collecteurs malveillants. Ce réglage n’est utilisé que si CommonMiddleware est installé (voir Middleware).

EMAIL_BACKEND

Valeur par défaut : 'django.core.mail.backends.smtp.EmailBackend'

Le moteur à utiliser pour envoyer des courriels. Consultez Envoi de messages électroniques pour obtenir la liste des moteurs disponibles.

EMAIL_FILE_PATH

Valeur par défaut : non définie

Le répertoire utilisé par le moteur de messagerie file pour stocker les fichiers qu’il produit.

EMAIL_HOST

Valeur par défaut : 'localhost'

L’hôte à utiliser pour envoyer des courriels.

Voir aussi EMAIL_PORT.

EMAIL_HOST_PASSWORD

Valeur par défaut : '' (Chaîne vide)

Mot de passe à utiliser pour le serveur SMTP défini dans EMAIL_HOST. Ce réglage est utilisé conjointement avec EMAIL_HOST_USER lors de l’authentification au serveur SMTP. Si l’un de ces réglages est vide, Django ne tente pas de s’authentifier.

Voir aussi EMAIL_HOST_USER.

EMAIL_HOST_USER

Valeur par défaut : '' (Chaîne vide)

Nom d’utilisateur à utiliser pour le serveur SMTP défini dans EMAIL_HOST. S’il est vide, Django ne tente pas de s’authentifier.

Voir aussi EMAIL_HOST_PASSWORD.

EMAIL_PORT

Valeur par défaut : 25

Port à utiliser pour le serveur SMTP défini dans EMAIL_HOST.

EMAIL_SUBJECT_PREFIX

Valeur par défaut : '[Django] '

Préfixe de la ligne du sujet dans les messages électroniques envoyés avec django.core.mail.mail_admins ou django.core.mail.mail_managers. Une espace finale est probablement adéquate.

EMAIL_USE_TLS

Valeur par défaut : False

Indique s’il s’agit d’utiliser une connexion TLS (sécurisée) lors du dialogue avec le serveur SMTP.

FILE_CHARSET

Valeur par défaut : 'utf-8'

Le codage de caractères utilisé pour décoder tout fichier lu à partir du disque. Cela comprend les fichiers de gabarits et les fichiers de données SQL initiales.

FILE_UPLOAD_HANDLERS

Valeur par défaut :

("django.core.files.uploadhandler.MemoryFileUploadHandler",
 "django.core.files.uploadhandler.TemporaryFileUploadHandler",)

Un tuple de gestionnaires à utiliser lors des téléversements. Voir Gestion des fichiers pour plus de détails.

FILE_UPLOAD_MAX_MEMORY_SIZE

Valeur par défaut : 2621440 (c-à-d. 2.5 Mio).

La taille maximale (en octets) d’un téléversement avant qu’il ne soit déporté sur le système de fichiers. Voir Gestion des fichiers pour plus de détails.

FILE_UPLOAD_PERMISSIONS

Valeur par défaut : None

Le mode numérique (ex : 0644) des permissions pour les nouveaux fichiers téléversés. Pour plus d’informations sur la signification des ces modes, consultez la documentation de os.chmod().

Si ce réglage n’est pas défini ou qu’il vaut None, vous obtiendrez un comportement dépendant du système d’exploitation. Sur la plupart des plates-formes, les fichiers temporaires obtiennent un mode 0600 et les fichiers enregistrés à partir de la mémoire sont enregistrés avec le masque « umask » standard du système.

Avertissement

Toujours précéder le mode d’un 0.

Si vous n’êtes pas à l’aise avec les modes de fichiers, sachez que le premier 0 est très important : il indique un nombre octal, ce qui est la bonne manière d’indiquer les modes. Si vous essayez d’utiliser 644, vous obtiendrez un comportement totalement incorrect.

FILE_UPLOAD_TEMP_DIR

Valeur par défaut : None

Le répertoire dans lequel stocker temporairement les données lors des téléversements de fichiers. Avec la valeur None, Django utilise le répertoire temporaire standard du système d’exploitation. Par exemple, il s’agit de « /tmp » sur les systèmes d’exploitation de type Unix.

Voir Gestion des fichiers pour plus de détails.

FIRST_DAY_OF_WEEK

Valeur par défaut : 0 (dimanche)

Nombre représentant le premier jour de la semaine. C’est particulièrement utile lors de l’affichage d’un calendrier. Cette valeur n’est utilisée que si les formats internationaux ne sont pas en vigueur ou si un format n’est pas trouvé pour la langue actuelle.

La valeur est un entier de 0 à 6, où 0 signifie dimanche, 1 signifie lundi, etc.

FIXTURE_DIRS

Valeur par défaut : () (tuple vide)

Liste de répertoires dans lesquels des fichiers de fixtures sont recherchés, en plus de répertoire fixtures de chaque application, dans l’ordre de recherche.

Notez que ces chemins doivent utiliser les barres obliques de style Unix, même avec Windows.

Voir Données initiales par les instantanés et Fixture loading.

FORCE_SCRIPT_NAME

Valeur par défaut : None

Si différent de None, ce réglage est utilisé comme valeur de la variable d’environnement SCRIPT_NAME dans toute requête HTTP. Il peut être utilisé pour surcharger la valeur de SCRIPT_NAME fournie par le serveur, qui peut être une version réécrite de la valeur préférée ou carrément absente.

FORMAT_MODULE_PATH

Valeur par défaut : None

Un chemin Python complet vers un paquet Python contenant des définitions de formats pour les locales du projet. Si différent de None, Django cherche un fichier formats.py dans le répertoire dont le nom correspond à la locale en cours et utilise les formats définis dans ce fichier.

Par exemple, si FORMAT_MODULE_PATH est défini à mysite.formats et que la langue actuelle est en (anglais), Django s’attend à une arborescence de répertoires comme celle-ci :

mysite/
    formats/
        __init__.py
        en/
            __init__.py
            formats.py

Les formats disponibles sont DATE_FORMAT, TIME_FORMAT, DATETIME_FORMAT, YEAR_MONTH_FORMAT, MONTH_DAY_FORMAT, SHORT_DATE_FORMAT, SHORT_DATETIME_FORMAT, FIRST_DAY_OF_WEEK, DECIMAL_SEPARATOR, THOUSAND_SEPARATOR et NUMBER_GROUPING.

IGNORABLE_404_URLS

New in Django 1.4.

Valeur par défaut : ()

Liste d’objets expressions régulières compilées décrivant les URL qui doivent être ignorées lors du signalement des erreurs HTTP 404 par courriel (voir Signalement d’erreurs). Les expressions régulières sont comparées aux chemins complets des requêtes (y compris la chaîne de requête, le cas échéant). Ceci est utile si votre site ne fournit pas certains fichiers fréquemment demandés comme favicon.ico ou robots.txt, ou s’il est bombardé par des scripts malveillants.

Ceci n’est utilisé que quand SEND_BROKEN_LINK_EMAILS est défini à True et que CommonMiddleware est installé (voir Middleware).

INSTALLED_APPS

Valeur par défaut : () (tuple vide)

Un tuple de chaînes désignant toutes les applications activées dans cette installation de Django. Chaque chaîne doit correspondre à un chemin Python complet vers un paquet python contenant une application Django, telle que créée par django-admin.py startapp.

App names must be unique

Les noms d’applications (c’est-à-dire la partie finale du chemin pointé vers le module contenant models.py) définis dans INSTALLED_APPS doivent être uniques. Par exemple, il n’est pas possible de mentionner à la fois django.contrib.auth et monprojet.auth dans INSTALLED_APPS.

INTERNAL_IPS

Valeur par défaut : () (tuple vide)

Un tuple d’adresses IP, sous forme de chaînes, dont les requêtes :

  • voient les commentaires de débogage, lorsque DEBUG vaut True,

  • reçoivent les en-têtes X si XViewMiddleware est installé (voir Middleware)

LANGUAGE_CODE

Valeur par défaut : 'en-us'

A string representing the language code for this installation. This should be in standard language ID format. For example, U.S. English is "en-us". See also the list of language identifiers and Internationalisation et régionalisation.

USE_I18N must be active for this setting to have any effect.

It serves two purposes:

  • If the locale middleware isn’t in use, it decides which translation is served to all users.
  • If the locale middleware is active, it provides the fallback translation when no translation exist for a given literal to the user’s preferred language.

See Processus de découverte de la préférence de langue par Django for more details.

LANGUAGES

Valeur par défaut : un tuple des langues disponibles. Cette liste augmentant continuellement, nous évitons de la reproduire ici, car elle deviendrait vite obsolète. Vous pouvez consultez la liste des langues disposant d’une traduction en examinant le fichier django/conf/global_settings.py (ou en consultant la source en ligne).

La liste est formée de tuples binaires dans le format (code de langue, nom_de_langue), par exemple ('ja', 'Japanese'). Cette liste définit les langues disponibles dans la sélection de langues. Voir Internationalisation et régionalisation.

Généralement, la valeur par défaut convient bien. Ne définissez ce réglage que si vous souhaitez restreindre la sélection de langues à un sous-ensemble des langues fournies par Django.

If you define a custom LANGUAGES setting, you can mark the language names as translation strings using the ugettext_lazy() function.

Here’s a sample settings file:

from django.utils.translation import ugettext_lazy as _

LANGUAGES = (
    ('de', _('German')),
    ('en', _('English')),
)

LOCALE_PATHS

Valeur par défaut : () (tuple vide)

Un tuple de répertoires dans lesquels Django cherche les fichiers de traduction. Voir Processus de découverte des traductions par Django.

Exemple :

LOCALE_PATHS = (
    '/home/www/project/common_files/locale',
    '/var/local/translations/locale'
)

Django cherche dans chacun de ces chemins des répertoires <code_locale>/LC_MESSAGES contenant eux-mêmes les fichiers de traduction réels.

LOGGING

Valeur par défaut : un dictionnaire de configuration de la journalisation.

Une structure de données contenant les informations de configuration. Le contenu de cette structure de données est transmis comme paramètre à la méthode de configuration indiquée par LOGGING_CONFIG.

La configuration par défaut de la journalisation transmet les erreurs de serveur HTTP 500 à un gestionnaire de journal de type courriel ; tous les autres messages de journal sont transmis à NullHandler.

LOGGING_CONFIG

Valeur par défaut : 'django.utils.log.dictConfig'

Un chemin vers un exécutable qui sera utilisé pour configurer la journalisation du projet Django. Par défaut, il contient une instance de la méthode de configuration dictConfig de Python.

Si vous définissez LOGGING_CONFIG à None, le processus de configuration de la journalisation sera court-circuité.

LOGIN_REDIRECT_URL

Valeur par défaut : '/accounts/profile/'

L’URL vers laquelle seront redirigées les requêtes après un processus de connexion lorsque la vue contrib.auth.login ne reçoit pas de paramètre next .

C’est utilisé par exemple par le décorateur login_required().

Changed in Django 1.5.

Ce réglage accepte dorénavant aussi des noms de fonctions Vue et des motifs d’URL nommés qui peuvent être utilisés pour réduire les doublons de configuration étant donné qu’il n’est plus nécessaire de définir les URL à deux endroits (settings et URLconf). Pour des raisons de compatibilité ascendante, la valeur par défaut n’a pas été modifiée.

LOGIN_URL

Valeur par défaut : '/accounts/login/'

L’URL vers laquelle sont redirigées les requêtes pour un processus de connexion, plus particulièrement lors de l’utilisation du décorateur login_required().

Changed in Django 1.5.

Ce réglage accepte dorénavant aussi des noms de fonctions Vue et des motifs d’URL nommés qui peuvent être utilisés pour réduire les doublons de configuration étant donné qu’il n’est plus nécessaire de définir les URL à deux endroits (settings et URLconf). Pour des raisons de compatibilité ascendante, la valeur par défaut n’a pas été modifiée.

LOGOUT_URL

Valeur par défaut : '/accounts/logout/'

Contre-partie de LOGIN_URL.

MANAGERS

Valeur par défaut : () (tuple vide)

Un tuple dans le même format que ADMINS qui détermine les personnes recevant les avertissements de liens cassés lorsque SEND_BROKEN_LINK_EMAILS vaut True.

MEDIA_ROOT

Valeur par défaut : '' (Chaîne vide)

Chemin absolu de système de fichiers pointant vers le répertoire qui contiendra les fichiers téléversés par les utilisateurs.

Exemple : "/var/www/example.com/media/"

Voir aussi MEDIA_URL.

MEDIA_URL

Valeur par défaut : '' (Chaîne vide)

URL qui gère les fichiers médias servis à partir de MEDIA_ROOT, utilisée pour la gestion des fichiers stockés. Elle doit être terminée par une barre oblique si elle n’est pas vide.

Exemple : "http://media.example.com/"

MESSAGE_LEVEL

Valeur par défaut : messages.INFO

Définit le niveau minimum des messages qui seront traités par le système des messages. Consultez la documentation sur le système des messages pour plus de détails.

MESSAGE_STORAGE

Valeur par défaut : 'django.contrib.messages.storage.fallback.FallbackStorage'

Contrôle l’emplacement de stockage des données des messages. Consultez la documentation sur le système des messages pour plus de détails.

MESSAGE_TAGS

Valeur par défaut :

{messages.DEBUG: 'debug',
messages.INFO: 'info',
messages.SUCCESS: 'success',
messages.WARNING: 'warning',
messages.ERROR: 'error',}

Définit la correspondance entre les niveaux de messages et les balises de messages. Consultez la documentation sur le système des messages pour plus de détails.

MIDDLEWARE_CLASSES

Valeur par défaut :

('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',)

Un tuple de classes de middleware à utiliser. Voir Middleware.

MONTH_DAY_FORMAT

Valeur par défaut : 'F j'

Le format par défaut à utiliser pour les champs date dans les listes pour modifications des pages de l’administration de Django, et potentiellement dans d’autres parties du système, dans les cas où seuls le mois et le jour sont affichés.

Par exemple, lorsqu’une page de liste pour modification de l’administration de Django est filtrée par un choix de date, l’en-tête d’un jour donné affiche le jour et le mois. Différentes locales présentent différents formats. Par exemple, l’anglais américain affichera « January 1, » alors que l’espagnol affichera « 1 Enero. ».

Voir chaînes de format de date autorisées. Voir aussi DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT et YEAR_MONTH_FORMAT.

NUMBER_GROUPING

Valeur par défaut : 0

Nombre de chiffres groupés dans la partie entière d’un nombre.

L’utilisation habituelle est d’afficher un séparateur de milliers. Si ce réglage est à 0, aucun groupement n’est effectué. S’il est plus grand que 0, THOUSAND_SEPARATOR est utilisé comme séparateur entre ces groupes.

Notez que lorsque USE_L10N vaut True, le format piloté par la locale a une priorité plus élevée et remplace ce séparateur.

Voir aussi DECIMAL_SEPARATOR, THOUSAND_SEPARATOR et USE_THOUSAND_SEPARATOR.

PASSWORD_HASHERS

New in Django 1.4.

Voir Stockage des mots de passe par Django.

Valeur par défaut :

('django.contrib.auth.hashers.PBKDF2PasswordHasher',
 'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
 'django.contrib.auth.hashers.BCryptPasswordHasher',
 'django.contrib.auth.hashers.SHA1PasswordHasher',
 'django.contrib.auth.hashers.MD5PasswordHasher',
 'django.contrib.auth.hashers.UnsaltedMD5PasswordHasher',
 'django.contrib.auth.hashers.CryptPasswordHasher',)

PASSWORD_RESET_TIMEOUT_DAYS

Valeur par défaut : 3

Le nombre de jours de validité d’un lien de réinitialisation de mot de passe. Utilisé par le mécanisme de réinitialisation de mot de passe de django.contrib.auth.

PREPEND_WWW

Valeur par défaut : False

Indique s’il faut préfixer le sous-domaine « www. » aux URL qui ne l’ont pas. Utilisé seulement si CommonMiddleware est installé (voir Middleware). Voir aussi APPEND_SLASH.

PROFANITIES_LIST

Valeur par défaut : () (tuple vide)

Un tuple de mots grossiers, sous forme de chaînes de caractères, qui seront censurés dans les commentaires lorsque COMMENTS_ALLOW_PROFANITIES vaut False.

RESTRUCTUREDTEXT_FILTER_SETTINGS

Valeur par défaut : {}

Un dictionnaire contenant les réglages du filtre de balisage restructuredtext de l’application django.contrib.markup. Ils surchargent les réglages par défaut de l’écriture. Consultez la documentation des réglages d’écriture de Docutils restructuredtext pour plus de détails.

ROOT_URLCONF

Valeur par défaut : non définie

Une chaîne représentant le chemin d’importation Python complet vers votre URLconf racine. Par exemple : "mesapplisdjango.urls". Il peut être surchargé pour chaque requête en définissant l’attribut urlconf de l’objet HttpRequest entrant. Voir Processus de traitement des requêtes par Django pour plus de détails.

SECRET_KEY

Valeur par défaut : '' (Chaîne vide)

La clé secrète d’une installation Django. Elle est utilisée dans le contexte de la signature cryptographique, et doit être définie à une valeur unique et non prédictible.

django-admin.py startproject ajoute automatiquement une valeur SECRET_KEY générée aléatoirement dans chaque nouveau projet.

Avertissement

Gardez cette valeur secrète.

Le fonctionnement de Django avec une clé SECRET_KEY connue réduit à néant de nombreuses protections de sécurité de Django et peut amener à une élévation de privilèges et à des vulnérabilités d’exécution de code à distance.

Changed in Django 1.5: Django will now refuse to start if SECRET_KEY is not set.

SECURE_PROXY_SSL_HEADER

New in Django 1.4.

Valeur par défaut : None

Un tuple représentant une combinaison en-tête/valeur HTTP signifiant qu’une requête est sécurisée. Ce réglage contrôle le comportement de la méthode is_secure() de l’objet requête.

Cela demande quelques explications. Par défaut, is_secure() est capable de déterminer si une requête est sécurisée en inspectant le protocole de l’URL demandée (« https:// »). C’est important pour la protection CSRF de Django et peut être utilisé par votre propre code ou des applications tierces.

Si votre application Django est derrière un serveur mandataire (proxy), celui-ci peut masquer le fait que la requête est en HTTPS en utilisant une connexion non HTTPS entre le serveur mandataire et Django. Dans ce cas, is_secure() renvoie toujours False, même pour les requêtes qui ont été initiées en HTTPS par l’utilisateur final.

Dans cette situation, il est alors possible de configurer le serveur mandataire pour qu’il définisse un en-tête HTTP indiquant à Django si la requête est arrivée en HTTPS ; le réglage SECURE_PROXY_SSL_HEADER permet de signaler à Django le nom de l’en-tête où il doit chercher cette information.

Il est nécessaire de définir un tuple contenant deux éléments : le nom de l’en-tête à examiner et la valeur requise. Par exemple :

SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

Ici, nous disons à Django que nous nous fions à l’en-tête X-Forwarded-Proto ajouté par le serveur mandataire et indiquant par une valeur 'https' que la requête provenait bien d’une connexion sécurisée (c’est-à-dire qu’elle est arrivée par HTTPS). Évidemment, ce réglage ne doit être défini qu’à la condition que vous soyez maître du serveur mandataire ou que vous ayez la garantie que l’en-tête soit ajouté ou enlevé de manière appropriée.

Notez que le nom de l’en-tête doit être dans le format utilisé par request.META, tout en majuscules et commençant probablement par HTTP_ (souvenez-vous que Django ajoute automatiquement 'HTTP_' au début des noms d’en-têtes X avant de les rendre accessibles dans request.META).

Avertissement

Vous créerez probablement des trous de sécurité dans votre site si vous définissez ce réglage sans savoir ce que vous faites. Et si vous n’arrivez pas à le définir quand vous devriez. Sérieusement.

Assurez-vous que TOUS les points ci-après sont vrais avant de définir ce réglage (en prenant comme exemple les valeurs ci-dessus) :

  • Votre application Django est derrière un serveur mandataire.

  • Le serveur mandataire ôte les en-têtes X-Forwarded-Proto de toute requête entrante. En d’autres termes, si des utilisateurs ajoutent cet en-tête dans leurs requêtes, le serveur mandataire n’en tient aucun compte.

  • Le serveur mandataire définit l’en-tête X-Forwarded-Proto et le transmet à Django, mais seulement pour les requêtes arrivées par HTTPS.

Si l’un de ces points n’est pas réalisé, il vaut mieux laisser ce réglage à None et trouver une autre façon de déterminer la provenance HTTPS, peut-être au moyen d’un middleware personnalisé.

SERIALIZATION_MODULES

Valeur par défaut : non définie

Un dictionnaire de modules contenant des définitions de sérialiseurs (sous forme de chaînes) dont les clés sont des identifiants textuels pour le type de sérialisation correspondant. Par exemple, pour définir un sérialiseur YAML :

SERIALIZATION_MODULES = { 'yaml' : 'path.to.yaml_serializer' }

SERVER_EMAIL

Valeur par défaut : 'root@localhost'

L’adresse électronique utilisée comme expéditeur des messages d’erreur, comme ceux envoyés aux ADMINS et aux MANAGERS.

SESSION_CACHE_ALIAS

Valeur par défaut : default

Si vous utilisez le stockage des sessions basé en cache, ce réglage choisit le cache à utiliser.

SESSION_ENGINE

Valeur par défaut : django.contrib.sessions.backends.db

Controls where Django stores session data. Included engines are:

  • 'django.contrib.sessions.backends.db'
  • 'django.contrib.sessions.backends.file'
  • 'django.contrib.sessions.backends.cache'
  • 'django.contrib.sessions.backends.cached_db'
  • 'django.contrib.sessions.backends.signed_cookies'

Voir Utilisation des sessions.

SESSION_EXPIRE_AT_BROWSER_CLOSE

Valeur par défaut : False

Indique si la session doit expirer au moment où l’utilisateur ferme son navigateur. Voir Utilisation des sessions.

SESSION_FILE_PATH

Valeur par défaut : None

Si vous utilisez le stockage de sessions basé sur des fichiers, ceci définit le répertoire dans lequel Django stocke les données de sessions. Voir Utilisation des sessions. Avec la valeur par défaut (None), Django utilise le répertoire temporaire standard du système.

SESSION_SAVE_EVERY_REQUEST

Valeur par défaut : False

Indique s’il faut enregistrer les données de session lors de chaque requête. Voir Utilisation des sessions.

SESSION_SERIALIZER

New in Django 1.5.3.

Default: 'django.contrib.sessions.serializers.PickleSerializer'

Full import path of a serializer class to use for serializing session data. Included serializers are:

  • 'django.contrib.sessions.serializers.PickleSerializer'
  • 'django.contrib.sessions.serializers.JSONSerializer'

See Session serialization for details, including a warning regarding possible remote code execution when using PickleSerializer.

In Django 1.5.3, the default in newly created projects using django-admin.py startproject is django.contrib.sessions.serializers.JSONSerializer, and the global default will switch to this class in Django 1.6.

SHORT_DATE_FORMAT

Valeur par défaut : m/d/Y (ex . : 12/31/2003)

Un format disponible pour l’affichage des champs dates dans les gabarits. Notez que si USE_L10N est défini à True, le format piloté par la locale a une priorité plus élevée et remplacera ce format. Voir les chaînes de format de date autorisées.

Voir aussi DATE_FORMAT et SHORT_DATETIME_FORMAT.

SHORT_DATETIME_FORMAT

Valeur par défaut : m/d/Y P (ex . : 12/31/2003 4 p.m.)

Un format disponible pour l’affichage des champs dates/heures dans les gabarits. Notez que si USE_L10N est défini à True, le format piloté par la locale a une priorité plus élevée et remplacera ce format. Voir les chaînes de format de date autorisées.

Voir aussi DATE_FORMAT et SHORT_DATE_FORMAT.

SIGNING_BACKEND

New in Django 1.4.

Valeur par défaut : ‘django.core.signing.TimestampSigner’

Le moteur utilisé pour signer les cookies et d’autres données.

Voir aussi la documentation sur Signatures cryptographiques.

SITE_ID

Valeur par défaut : non définie

L’identifiant (nombre entier) du site actuel dans le table de base de données django_site. Peut être utilisé par les applications pour lier leurs données à des sites spécifiques et ainsi gérer dans une même base de données du contenu pour plusieurs sites.

Voir The “sites” framework.

STATIC_ROOT

Valeur par défaut : '' (Chaîne vide)

Le chemin absolu vers le répertoire dans lequel collectstatic rassemble les fichiers statiques en vue du déploiement.

Exemple : "/var/www/example.com/static/"

Si l’application complémentaire staticfiles est activée (c’est le cas par défaut), la commande de gestion collectstatic rassemble les fichiers statiques dans ce répertoire. Consultez le guide pratique sur la gestion des fichiers statiques pour plus de détails sur son utilisation.

Avertissement

Ce réglage doit indiquer un répertoire de destination (initialement vide) pour le rassemblement des fichiers statiques depuis leur emplacement permanent vers un répertoire unique pour faciliter le déploiement ; ce n’est pas un endroit pour stocker des fichiers statiques de manière permanente. À cet effet, il s’agit d’utiliser les répertoires qui seront recherchés par les découvreurs de staticfiles, qui sont par défaut les sous-répertoires 'static/' des applications et tout répertoire mentionné dans STATICFILES_DIRS.

Voir la référence de staticfiles et STATIC_URL.

STATIC_URL

Valeur par défaut : None

URL utilisée pour se référer aux fichiers statiques se trouvant dans STATIC_ROOT.

Exemple : "/static/" ou "http://static.example.com/"

Si ce réglage ne vaut pas None, il est utilisé comme chemin de base pour les définitions de médias et l’application staticfiles.

Cette valeur doit se terminer par une barre oblique quand elle est définie.

Voir STATIC_ROOT.

TEMPLATE_CONTEXT_PROCESSORS

Valeur par défaut :

("django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages")

Un tuple d’exécutables utilisés pour remplir le contexte de RequestContext. Ces exécutables acceptent un objet requête comme paramètre et renvoient un dictionnaire d’éléments à fusionner dans le contexte.

New in Django 1.4: The django.core.context_processors.tz context processor was added in this release.

TEMPLATE_DEBUG

Valeur par défaut : False

Une valeur booléenne qui active ou désactive le mode débogage des gabarits. Quand elle vaut True, une page d’erreur élaborée affiche un rapport détaillé lors de toute exception générée durant le rendu des gabarits. Ce rapport contient les extraits concernés du gabarit avec les bonnes lignes mises en évidence.

Notez que Django n’affiche ces pages d’erreur élaborées que quand DEBUG vaut également True, il faut donc aussi veiller à définir ce réglage pour profiter de ce mode de débogage.

Voir aussi DEBUG.

TEMPLATE_DIRS

Valeur par défaut : () (tuple vide)

Liste d’emplacements dans lesquels django.template.loaders.filesystem.Loader recherche les fichiers sources des gabarits, dans l’ordre de recherche.

Notez que ces chemins doivent utiliser les barres obliques de style Unix, même avec Windows.

Voir The Django template language.

TEMPLATE_LOADERS

Valeur par défaut :

('django.template.loaders.filesystem.Loader',
 'django.template.loaders.app_directories.Loader')

Un tuple de classes de chargeurs de gabarits, sous forme de chaînes. Chaque classe Loader sait comment importer les gabarits d’une source particulière. Il est possible d’indiquer des tuples au lieu de chaînes. Le premier élément du tuple correspond au module Loader alors que les éléments suivants seront transmis à la classe Loader en vue de son initialisation. Voir The Django template language: For Python programmers.

TEMPLATE_STRING_IF_INVALID

Valeur par défaut : '' (Chaîne vide)

Chaîne de caractères que le système des gabarits utilise pour remplacer le contenu de variables non valides (par ex. mal orthographiées). Voir How invalid variables are handled.

TEST_RUNNER

Valeur par défaut : 'django.test.simple.DjangoTestSuiteRunner'

Le nom de la classe à utiliser pour lancer la suite de tests. Voir Using different testing frameworks.

THOUSAND_SEPARATOR

Valeur par défaut : , (virgule)

Séparateur de milliers utilisé par défaut lors de la mise en forme de nombres. Ce réglage n’est utilisé que lorsque USE_THOUSAND_SEPARATOR vaut True et que NUMBER_GROUPING est plus grand que 0.

Notez que lorsque USE_L10N vaut True, le format piloté par la locale a une priorité plus élevée et remplace ce séparateur.

Voir aussi NUMBER_GROUPING, DECIMAL_SEPARATOR et USE_THOUSAND_SEPARATOR.

TIME_FORMAT

Valeur par défaut : 'P'` (ex . : ``4 p.m.)

Le format par défaut pour l’affichage des champs heures dans les différentes parties du système. Notez que si USE_L10N est défini à True, le format piloté par la locale a une priorité plus élevée et remplacera ce format. Voir les chaînes de format de date autorisées.

Voir aussi DATE_FORMAT et DATETIME_FORMAT.

TIME_INPUT_FORMATS

Valeur par défaut :

(
    '%H:%M:%S',     # '14:30:59'
    '%H:%M',        # '14:30'
)

Un tuple de formats qui seront acceptés lors de la saisie de données dans un champ heure. Les formats seront testés dans l’ordre et le premier correspondant sera utilisé. Notez que ces chaînes de format utilisent la syntaxe du module datetime de Python, et non pas celle des chaînes de format de la balise de gabarit date.

Lorsque USE_L10N vaut True, le format piloté par la locale a une priorité plus élevée et remplace ce format.

Voir aussi DATE_INPUT_FORMATS et DATETIME_INPUT_FORMATS.

TIME_ZONE

Valeur par défaut : 'America/Chicago'

Changed in Django 1.4: The meaning of this setting now depends on the value of USE_TZ.

Une chaîne représentant le fuseau horaire de cette installation ou la valeur None. Voir les choix disponibles (notez que cette liste de choix disponibles affiche plus d’un choix par ligne ; utilisez un seul des choix offerts pour un fuseau horaire défini ; par exemple, vous lirez la ligne 'Europe/London GB GB-Eire', mais il ne faudra utiliser que la première partie, 'Europe/London', comme réglage TIME_ZONE).

Notez que cela ne correspond pas forcément au fuseau horaire du serveur. Par exemple, il est imaginable qu’un site serve plusieurs instances de sites Django, chacun ayant leur propre réglage de fuseau horaire.

Lorsque USE_TZ est défini à False, ce réglage définit le fuseau horaire avec lequel Django stocke tous les objets dates/heures. Lorsque USE_TZ est défini à True, il s’agit alors du fuseau horaire que Django utilise par défaut pour afficher les dates/heures dans les gabarits et pour interpréter les valeurs dates/heures saisies dans les formulaires.

Django définit la variable os.environ['TZ'] au fuseau horaire défini dans le réglage TIME_ZONE. Ainsi, toutes les vues et tous les modèles opèrent automatiquement dans ce fuseau horaire. Cependant, Django ne définit pas la variable d’environnement TZ dans les conditions suivantes :

  • si vous utilisez l’option de configuration manuelle telle que décrite dans configuration manuelle des réglages, ou

  • si vous indiquez TIME_ZONE = None. Django se synchronise alors sur le fuseau horaire du système. Toutefois, nous décourageons ce cas de figure lorsque USE_TZ = True, parce qu’il fragilise les conversions entre le temps local et le temps UTC.

Quand Django ne définit pas la variable d’environnement TZ, il est de votre responsabilité de contrôler que les processus fonctionnent dans un environnement correct.

Note

Django ne peut pas utiliser de fuseaux horaires différents du système de façon fiable dans un environnement Windows. Si vous faites fonctionner Django avec Windows, TIME_ZONE doit être réglé sur le même fuseau horaire que le système.

TRANSACTIONS_MANAGED

Valeur par défaut : False

Définissez ce réglage à True si vous souhaitez désactiver la gestion des transactions par Django pour la remplacer par votre propre gestion.

USE_ETAGS

Valeur par défaut : False

Une valeur booléenne indiquant si l’en-tête « Etag » doit être généré. Cela économise de la bande passante mais dégrade les performances. Utilisé par CommonMiddleware (voir Middleware) et dans le système de cache (voir L’infrastructure de cache dans Django).

USE_I18N

Valeur par défaut : True

Une valeur booléenne indiquant si le système de traduction de Django doit être activé. C’est un moyen rapide de le désactiver pour gagner un peu de performances. Si défini à False, Django optimise son fonctionnement pour ne pas charger le mécanisme de traduction.

Voir aussi LANGUAGE_CODE, USE_L10N et USE_TZ.

USE_L10N

Valeur par défaut : False

Une valeur booléenne indiquant si la régionalisation du format des données est activée. Si défini à True, Django affiche par exemple les nombres et les dates en utilisant la mise en forme correspondant à la locale active.

Voir aussi LANGUAGE_CODE, USE_I18N et USE_TZ.

Note

Le fichier settings.py créé par défaut par django-admin.py startproject définit USE_L10N = True par commodité.

USE_THOUSAND_SEPARATOR

Valeur par défaut : False

Une valeur booléenne indiquant si les nombres doivent être affichés avec des séparateurs de milliers. Lorsque USE_L10N est défini à True et que ce réglage l’est également, Django utilise les valeurs de THOUSAND_SEPARATOR et de NUMBER_GROUPING pour mettre en forme les nombres.

Voir aussi DECIMAL_SEPARATOR, NUMBER_GROUPING et THOUSAND_SEPARATOR.

USE_TZ

New in Django 1.4.

Valeur par défaut : False

Une valeur booléenne indiquant si les dates/heures sont conscientes de leur fuseau horaire. Si défini à True, Django utilise en interne des dates/heures conscientes de leur fuseau horaire. Sinon, Django utilise des dates/heures naïves en temps local.

Voir aussi TIME_ZONE, USE_I18N et USE_L10N.

Note

Le fichier settings.py créé par défaut par django-admin.py startproject définit USE_TZ = True par commodité.

USE_X_FORWARDED_HOST

Valeur par défaut : False

Une valeur booléenne indiquant si l’en-tête X-Forwarded-Host doit être favorisé aux dépends de l’en-tête Host. Ceci ne devrait être activé que dans le cas où un serveur mandataire définit cet en-tête en amont de votre application.

WSGI_APPLICATION

New in Django 1.4.

Valeur par défaut : None

Le chemin Python complet de l’objet application WSGI que les serveurs intégrés dans Django vont utiliser (par ex. runserver). La commande de gestion django-admin.py startproject crée un simple fichier wsgi.py contenant un exécutable application et fait pointer ce réglage vers cet objet application.

Si indéfini, c’est la valeur renvoyée par django.core.wsgi.get_wsgi_application() qui sera utilisée. Dans ce cas, le comportement de runserver sera le même que lors des versions précédentes de Django.

YEAR_MONTH_FORMAT

Valeur par défaut : 'F Y'

Le format par défaut à utiliser pour les champs date dans les listes pour modifications des pages de l’administration de Django, et potentiellement dans d’autres parties du système, dans les cas où seuls l’année et le mois sont affichés.

Par exemple, lorsqu’une page de liste pour modification de l’administration de Django est filtrée par un choix de date, l’en-tête d’un mois donné affiche le mois et l’année. Différentes locales présentent différents formats. Par exemple, l’anglais américain affichera « January 2006, » alors qu’une autre locale affichera peut-être « 2006/January. ».

Voir chaînes de format de date autorisées. Voir aussi DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT et MONTH_DAY_FORMAT.

X_FRAME_OPTIONS

Valeur par défaut : 'SAMEORIGIN'

La valeur par défaut de l’en-tête X-Frame-Options utilisé par XFrameOptionsMiddleware. Voir la documentation sur la protection contre le détournement de clic.

Réglages obsolètes

AUTH_PROFILE_MODULE

Deprecated in Django 1.5:

Obsolète depuis la version 1.5: Avec l’introduction des modèles utilisateurs personnalisés, l’utilisation de AUTH_PROFILE_MODULE pour définir un modèle de profil n’est plus pris en charge. Consultez les notes de publication de Django 1.5 pour plus d’informations.

Valeur par défaut : non définie

Le modèle de profil utilisateur que ce site emploie. Voir Profils d’utilisateurs.

IGNORABLE_404_ENDS

Deprecated in Django 1.4:

Obsolète depuis la version 1.4: Ce réglage a été rendu obsolète par IGNORABLE_404_URLS.

IGNORABLE_404_STARTS

Deprecated in Django 1.4:

Obsolète depuis la version 1.4: Ce réglage a été rendu obsolète par IGNORABLE_404_URLS.