2010-10-11 27 views
0

J'utilise Django-page-CMSvues créées dans django-page-CMS désactive tous les CSS? code inclus, un correctif s'il vous plaît

Tout fonctionne bien Cependant, une fois que je crée mes propres vues qui s'étendent à partir des pages utilisées dans le CMS, le CSS ne s'affiche pas.

Ceci est étrange parce que ces pages affichent le CSS bien, tant que je n'utilise pas mes propres vues.

J'apprécierais beaucoup de l'aide sur ce sujet ou au moins quelques suggestions sur pourquoi cela se produit et comment il pourrait être rectifié. J'utilise l'astuce des fichiers statiques.

if settings.DEBUG: 
urlpatterns += patterns('', 
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}), 
    url(r'^admin_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.ADMIN_MEDIA_ROOT}), 

Voici comment j'ai lié des styles .... des liens vers jquery existent aussi mais cela ne devrait pas affecter.

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

J'ai quelques styles dans les pages qui étendent la base liée de la façon suivante ....

{% extends "base.html" %} 
{% block page_style %} 
<link type="text/css" rel="stylesheet" href="{{ MEDIA_URL }}css/index.css" /> 
{% endblock %} 

Encore une fois, tout fonctionne bien jusqu'à ce que je crée mes propres vues et pages qui vont de toute de ces pages. Une fois que je regarde les nouvelles pages, aucun css n'apparaît sur aucune page. pas même la base cependant si je n'utilise pas mes propres vues tout est bien affiché. J'apprécierais grandement l'aide à ce sujet.

+0

Voulez-vous dire qu'il fonctionne parfaitement avec cms pages générées? Le HTML des pages rendues est-il correct, en particulier les liens vers les fichiers css? –

+0

Oui, cela fonctionne parfaitement avec les pages générées par cms. Absolument bien. Puis, dès que je crée une vue avec un modèle qui étend une de ces pages magnifiquement stylisées. Tous les styles disparaissent. Étrange, c'est essentiellement me dire si je veux utiliser mes propres opinions, je ne peux pas utiliser mes styles! – Stu

+0

J'apprécierais énormément de l'aide avec ceci – Stu

Répondre

0

Le MEDIA_URL ne passait pas correctement.

RequestContext() était le problème. L'instance content_instance n'a pas été définie. Par conséquent, la variable MEDIA_URL ne sera pas transmise lorsque le modèle aura été rendu.

Lorsque vous utilisez render_to_response .....

return render_to_response(YOUR_TEMPLATE, YOUR_TEMPLATE_CONTEXT, 
context_instance=RequestContext(request)) 
0

Votre {% block page_style%} {%}% endblock devrait être dans des base.html

Alors base.html:

<html> 
    <head> 
     {% block extrahead %}{% endblock %} 
    </head> 
    <body></body> 
</html> 

yourtemplate.html:

{% extends "base.html" %} 
{% block extrahead %} 
<link type="text/css" rel="stylesheet" href="{{ MEDIA_URL }}css/index.css" /> 
{% endblock %} 
+0

Non, malheureusement, cela ne fait aucune différence. Avez-vous une idée de pourquoi cela se passe? – Stu

+0

La base cesse de fonctionner lorsqu'elle est placée dans {% block page_style%}, ce qui ne peut pas être correct. – Stu