Bonjour à tous.
Je commence mon premier projet et j'ai besoin de vos conseils pour organiser celui-ci, j'ai cette organisation:
Dans le module mon_projet.urls.py je fais un include :
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
Je fais aussi un pattern pour servir mes fichiers statiques:
Code : Sélectionner tout - Visualiser dans une fenêtre à part (r'^appli1/', include('mon_projet.appli1.urls')),
et un pattern pour servir une page d'accueil:
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('\\','/')}),
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
1
2
3 (r'^$', direct_to_template, { 'template': 'base.html' }),
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:J'ouvre http://127.0.0.1:8000/appli1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 (r'^$', direct_to_template, { 'template': 'appli1.html' }),
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 ^ danset mes fichiers statiques sont accessibles de partout: http://127.0.0.1:8000/toto/tutu/tata/titi/site-media/css/style.css .
Code : Sélectionner tout - Visualiser dans une fenêtre à part r'^site-media/(?P<path>.*)$'
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