root/libcommonDjango/deploiement.rst
| Revision 542, 1.8 kB (checked in by fredz, 1 year ago) | |
|---|---|
| |
Déploiement d'une application Django
| Author: | Frédéric de Zorzi |
|---|---|
| Contact: | fredz@_nospam_pimentech.net |
| Revision: | $Revision$ |
| Date: | $Date$ |
| Copyright: | This document has been placed in the public domain. |
| Tags: | django system apache |
Il y a trois choses à dissocier dans un projet Django :
- Les applications
- La conf du site : le fichier setting.py
- Les templates propres au site
Du point de vue Apache
<Location "/">
# On utilise mod_python pour ce chemin :
SetHandler python-program
# Qui lui même utilise Django :
PythonHandler django.core.handlers.modpython
# Qui utilise les propriétés de "monsite" :
SetEnv DJANGO_SETTINGS_MODULE monsite.settings
</location>
Emplacement des applications
Les applications pouvant être utilisées par plusieurs sites ou par des scripts python, le meilleur emplacement pour elles est dans /usr/lib/pythonX.X/site-packages. Pour nous, le mieux est de les mettre dans django/pimentech.
Pour l'installation, on utilise distutils :
Les templates
Les templates non spécifiques propres aux applications sont dans les sous-répertoires des applications. Pour ce module (libcommonDjango), on n'a rien à faire de spécifique.
Le répertoire des templates est défini dans la variable TEMPLATE_DIRS [1]. Ces templates doivent avoir un droit de lecture www-data, mais ne sont pas lues directement par apache (on n'a pas à les placer dans /var/www ou autre). Pour le site "garage" j'ai opté pour :
- ~/templates_django pour les templates
- ~/lib/python/site_garage pour la confìguration python (principalement settings.py et urls.py.
| [1] | Cette variable est en fait une liste, on peut définir plusieurs répertoires. |
