2013-03-11 2 views
0

J'ai passé les derniers jours à comprendre comment inclure un fichier css dans un template Django. Je n'ai toujours pas réussi alors j'espère que quelqu'un pourra m'aider. Je ont les paramètres suivants:Django 1.4 fichiers statiques css non-appliqué

--settings.py--

MEDIA_ROOT = '' 
MEDIA_URL = '' 
STATIC_ROOT = '' 
STATIC_URL = '/static/' 

je mets rien dans STATICFILES_DIRS() non plus.

--urls.py--

urlpatterns = patterns('', (r'^$', 'reviewsite.views.my_homepage_view'),) 
urlpatterns += staticfiles_urlpatterns() 

--views.py--

def my_homepage_view(request): 
return render_to_response('test.html', context_instance=RequestContext(request)) 

--test.html template--

<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/style.css"/> 

--source code localhost--

<link rel="stylesheet" type="text/css" href="/static/css/style.css"/> 

Selon la documentation de Django, il semble que j'ai tout réglé correctement, mais le style CSS n'est toujours pas appliqué. Le dossier statique est au bon endroit (C: reviews/reviewsite/static) où le reste de mes applications résident également. Même si je code en dur l'emplacement de style.css (C: reviews/reviewsite/static/css/style.css) dans le modèle test.html, le style CSS n'est pas appliqué. J'ai vérifié le style.css et cela fonctionne sans Django. Une idée de ce que je fais mal?

+0

Pouvez-vous publier la structure de dossier de votre application et spécifier où se trouve votre dossier statique? Reportez-vous à [cette réponse] (http://stackoverflow.com/a/15130566/1095090) et essayez-le. Cela peut vous aider. – arulmr

Répondre

0

Voici comment vous appelez les fichiers dans le

{% static %} 

<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}"/> 

settings.py

import os 
import sys 

PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..') 
SITE_ROOT = PROJECT_ROOT 

MEDIA_ROOT = os.path.join(SITE_ROOT, 'media') 
MEDIA_URL = '/media/' 
STATIC_ROOT = os.path.join(SITE_ROOT, 'static') 
STATIC_URL = '/static/' 

STATICFILES_DIRS = (
    //create staticfiles folder 
    os.path.join(SITE_ROOT, 'staticfiles'), 
) 
0

statique Tout le monde, merci pour votre aide et désolé pour la réponse tardive. J'ai essayé vos suggestions mais cela n'a pas fonctionné malheureusement. Cependant, après plus de temps à essayer, je l'ai fait fonctionner maintenant. C'est ce qui a fonctionné pour moi:

--settings.py--

MEDIA_ROOT = '' 
MEDIA_ROOT = '' 
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static') 
STATIC_URL = 'http://localhost:8000/static/' 

--urls.py--

urlpatterns = patterns('', (r'^$', 'reviewsite.views.my_homepage_view'),) 
urlpatterns += patterns('', 
url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT }),) 

Je suis maintenant placé le fichier css dans le dossier statique dans le répertoire de mon application Dans le modèle, j'utilise {{STATIC_URL}}/style.css.

Questions connexes