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