h1. HowDoWeDoDjangoSettings h2. Application simple Le fichier @settings.py@ est celui créé par Django (lors du startproject), on y ajoute la possibilité de charger des paramètres supplémentaires en ajoutant ces lignes à la fin (avec FOOBAR remplacé par le nom du projet) :
local_settings_file = os.environ.get('FOOBAR_SETTINGS_FILE',
        os.path.join(os.path.dirname(__file__), 'local_settings.py'))
if os.path.exists(local_settings_file):
    execfile(local_settings_file)
h2. Commentaires Par rapport à la forme @from local_settings import *@ précédemment pratiquée, ça a l'avantage de donner un accès aux différentes variables déjà définies, pour par exemple permettre au fichier donné d'altérer @INSTALLED_APPS@. Un inconvénient est que le fichier n'est pas surveillé par django, les modifications qui y sont faites ne sont pas automatiquement prises en compte, un redémarrage (ou la modification d'un autre fichier) est nécessaire. h2. Application multitenant Le multitenant s'obtient pour une application donnée en utilisant le package python-hobo (à ne pas confondre avec l'application hobo). Pour devenir multitenant, une application doit entre autres modifier ses settings. Les modifications requises sont encapsulées dans un fichier de configuration @debian_config_common.py@ que l'installation du package python-hobo positionne dans @/usr/lib/hobo/@. Considérons une des briques applicatives de Publik, appelons là 'foobar'. La succession de chargement des settings se produit commme suit: * l'application charge son fichier de config par défaut @settings.py@ que l'on trouve dans les sources à la racine du package 'foobar' : @/usr/lib/pythonX.X/dist-packages/foobar@ * @foobar.settings.py@ charge le fichier pointé par la variable d'environnement @FOOBAR_SETTINGS_FILE@ comme décrit dans le cas d'une application simple, ce fichier a généralement pour nom @debian_config.py@ et est positionné dans @/usr/lib/foobar/@ * @debian_config.py@ charge @/usr/lib/hobo/debian_config_common.py@ L'essentiel de la configuration est chargé à ce moment là. Cependant, si ils sont présents, des fichiers additionnels de configuration seront encore chargés: * @/etc/foobar/settings.py@ Et les éventuels * @/etc/foobar/settings.d/*.py@