IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

Architecture et settings [Débutant(e)]


Sujet :

Django Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 60
    Par défaut Architecture et settings
    Bonjour,

    Je débute sous Django, j'ai fait le tutoriel, et je me suis lancé ensuite dans le passage à Apache, car la condition pour que je passe mes sites php sous django c bien sur que je puisse les héberger. Je suis passé par le mod wsgi qui semble bien fonctionner, par contre je suis perdu dans l'architecture et la manière de cibler les settings.

    apparemment, la variable DJANGO_SETTINGS_MODULE ne veut pas aller chercher le settings.py général, il faut lui indiquer un module, et ca ne m'arrange pas.

    voici mon architecture pour le moment

    # python
    # # site 1
    # # # app
    # # # # apache/
    # # # # # fichier wsgi
    # # # # settings.py
    # # # # manage.py
    # # # # models.py
    # # # # urls.py
    # # # # module/
    # # # templates
    # # # # module/
    # # # public_html

    # # site 2
    ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #!/usr/bin/env python
    import os, sys
     
    sys.path.append('/home/user/Python/site1')
    os.environ['DJANGO_SETTINGS_MODULE'] = 'site1.settings'
     
    import django.core.handlers.wsgi
    application = django.core.handlers.wsgi.WSGIHandler()
     
    print sys.path
    j'ai essayé plein de choses pour les settings, mais soit je lui met module.settings et il ne trouve pas les urls, soit je lui met site1.settings et là il ne trouve pas les settings.

    a noter que le code fonctionne avec la commande runserver, c'est vraiment juste l'architecture extérieure du projet qui me pose des soucis.

    quelle est la meilleure architecture pour faire plusieurs sites sous django et comment lui déclarer les settings avec wsgi ?

    merciii !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 25
    Par défaut
    salut, j'ai eu le même problème que toi, et la solution est de faire de ton site1 un package python . ajoute le __init__.py dans "app".

    ensuite, personnellement, pour éviter d'avoir a mentionner toujours "app". , j'ai ajouté dans mon path '/home/user/Python/site 1/app/'

    ce qui donnerais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/usr/bin/env python
    import os, sys
     
    sys.path.append('/home/user/Python/site1')
    sys.path.append('/home/user/Python/site1/app/')
    os.environ['DJANGO_SETTINGS_MODULE'] = 'site1.settings'
     
    import django.core.handlers.wsgi
    application = django.core.handlers.wsgi.WSGIHandler()
     
    print sys.path

    je ne sais plus tres bien si c'est tout, mais essai deja ca.

    maintenant, je ne suis pas bien sur si c'est LA solution la plus efficace a ce probleme, mais pour moi c'est ce qui a marché.

    ps: je te conseil de ne pas mettre directement apache avec django en serveur principal.
    j'ai personelement opté pour la solution de mettre nginx sur le port 80 avec une config pour fournir directement les contenu static et media puis de rediriger les autre requêtes sur un apache qui écoute en local.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2008
    Messages : 21
    Par défaut
    essaye plutot

    sys.path.append('/home/user/Python')
    sys.path.append('/home/user/Python/site1')
    os.environ['DJANGO_SETTINGS_MODULE'] = 'site1.settings'

    et ça devrait marcher
    il y a aussi un bon forum sur django-fr.org et un canal IRC #django-fr sur freenode

Discussions similaires

  1. set term ^
    Par tux dans le forum Débuter
    Réponses: 8
    Dernier message: 12/10/2004, 20h42
  2. [Architecture] Interface entre C++ & Java
    Par yanis97 dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 13/07/2004, 15h46
  3. Query data set
    Par Sandra dans le forum JBuilder
    Réponses: 3
    Dernier message: 20/01/2003, 10h08
  4. architecture
    Par pons dans le forum CORBA
    Réponses: 3
    Dernier message: 11/06/2002, 11h10
  5. character set // Nls_lang
    Par fopicht dans le forum Oracle
    Réponses: 2
    Dernier message: 23/05/2002, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo