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 :

[DJANGO] Organiser son projet


Sujet :

Django Python

  1. #1
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut [DJANGO] Organiser son projet
    Bonjour à tous.

    Je commence mon premier projet et j'ai besoin de vos conseils pour organiser celui-ci, j'ai cette organisation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    -/ mon_projet
        |- urls.py
        |-/ templates
             |- base.html
             |- appli1.html
        |-/ site-media
             |-/ css
                  |- style.css
        |-/ appli1
             |- urls.py
    Dans le module mon_projet.urls.py je fais un include :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (r'^appli1/', include('mon_projet.appli1.urls')),
    Je fais aussi un pattern pour servir mes fichiers statiques:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     (r'^site-media/(?P<path>.*)$', 'django.views.static.serve',
            {'document_root': 
            os.path.join(os.path.dirname(__file__),
                'site-media').replace('\\','/')}),
    et un pattern pour servir une page d'accueil:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        (r'^$', direct_to_template, {
            'template': 'base.html'
        }),
    Je crée un template de base, base.html dans templates dans lequelle est inclus un css via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" href="site-media/css/style.css" />

    Je pointe mon navigateur sur http://127.0.0.1:8000/ => c'est ok, la page apparaît, le css est bien appliqué

    Maintenant, je modifie mon fichier mon_projet.appli1.urls.py pour servir une page étendant le template de base:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        (r'^$', direct_to_template, {
            'template': 'appli1.html'
        }),
    J'ouvre http://127.0.0.1:8000/appli1:
    La page est bien affichée, les blocks sont bien 'surchargés' mais le fichier css n'est pas pris en compte....

    Pour solutionner ce problème, je supprime le ^ dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    r'^site-media/(?P<path>.*)$'
    et mes fichiers statiques sont accessibles de partout: http://127.0.0.1:8000/toto/tutu/tata/titi/site-media/css/style.css .

    Bien que cela fonctionne, est-ce la bonne manière de procéder?
    Avez-vous des conseils à me donner pour la bonne organisation de mon projet?

    Merci de votre attention pour ce post relativement long
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

  2. #2
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Je ferais deux choses pour commencer;

    1. Changer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    os.path.join(os.path.dirname(__file__),
    pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    os.path.join(os.path.dirname(os.path.abspath(__file__)),
    2. Ajouter un / au début de l'adresse pour le fichier CSS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <link rel="stylesheet" href="/site-media/css/style.css" />
    Sinon, le serveur va chercher ton fichier CSS dans appli1/site-media/css/style.css

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Merci, quelques indices m'ont permis de résoudre le problème

Discussions similaires

  1. Comment organiser son projet ?
    Par OshiSensei dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 16/02/2012, 15h05
  2. Réponses: 5
    Dernier message: 10/08/2011, 11h16
  3. Organiser son projet sous Eclipse
    Par milach dans le forum Eclipse C & C++
    Réponses: 0
    Dernier message: 01/12/2009, 15h15
  4. Organiser son projet
    Par Kalite dans le forum MFC
    Réponses: 2
    Dernier message: 07/06/2007, 16h56
  5. Organiser son projet
    Par Hybrix dans le forum Développement 2D, 3D et Jeux
    Réponses: 5
    Dernier message: 25/05/2007, 21h32

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