0

我正在使用 Django-page-CMS

一切正常但是,一旦我创建了从 CMS 中使用的页面扩展的自己的视图,CSS 就不会显示。

这很奇怪,因为只要我不使用自己的视图,这些页面就可以很好地显示 CSS。

我将非常感谢您在此问题上的一些帮助,或者至少对为什么会发生这种情况以及如何纠正它提出一些建议。

我正在使用静态文件技巧。

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}),

这是我链接样式的方式....指向 jquery 的链接也存在,但这不应该影响。

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

我在页面中有一些样式,它们通过以下方式扩展了基础链接......

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

同样,一切正常,直到我创建自己的视图和从这些页面中扩展的页面。一旦我查看新页面,任何页面中都不会显示 css。甚至不是基础,但是如果我不使用自己的视图,一切都显示得很好。我将不胜感激在这件事上的帮助。

4

2 回答 2

0

您的 {% block page_style %}{% endblock %} 应该在 base.html 内

所以base.html:

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

你的模板.html:

{% extends "base.html" %}
{% block extrahead %}
<link type="text/css" rel="stylesheet" href="{{ MEDIA_URL }}css/index.css" />
{% endblock %}
于 2010-10-12T11:46:28.867 回答
0

MEDIA_URL 未正确通过。

RequestContext() 是问题所在。content_instance 未设置,因此在呈现模板时 MEDIA_URL 变量不会出现。

使用 render_to_response 时.....

return render_to_response(YOUR_TEMPLATE, YOUR_TEMPLATE_CONTEXT,
context_instance=RequestContext(request))
于 2010-10-13T11:06:30.203 回答