Bonjour à tous.
Je commence mon premier projet et j'ai besoin de vos conseils pour organiser celui-ci, j'ai cette organisation:
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 :
(r'^appli1/', include('mon_projet.appli1.urls')),
Je fais aussi un pattern pour servir mes fichiers statiques:
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:
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
<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:
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
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
Partager