root/libcommonDjango/deploiement.rst

Revision 542, 1.8 kB (checked in by fredz, 1 year ago)

*** empty log message ***

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision

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 :

  1. Les applications
  2. La conf du site : le fichier setting.py
  3. 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 :

System Message: WARNING/2 (<string>, line 44)

"include" directive disabled.

.. include:: setup.py
   :literal:


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.
Note: See TracBrowser for help on using the browser.