css - 正确使用CSS文件中的模板语言

标签 css django django-templates

我正在尝试通过我的 url.py 文件提供一个 CSS 文件,这样我就可以在我的 CSS 中使用模板标签。

这是我的代码。

基础.html:

<head>
...
<link rel="stylesheet" type="text/css" href="/site_media/css/wideTitle.css" />

urls.py:

(r'^site_media/css/wideTitle.css','lightbearers.views.viewWideTitle'),

views.py:

def viewWideTitle(request):
    contentListAbout = About.objects.filter(Q(startDate__lte=datetime.now())).order_by('-startDate')
    if len(contentListAbout) > 0:
        contentAbout = contentListAbout[0]
    else:
        contentAbout = None
    ...
    return render_to_response('wideTitle.css', {'contentAbout':contentAbout, ...},
                              context_instance=RequestContext(request))

设置.py:

TEMPLATE_DIRS = (
    os.path.join(PROJECT_PARENT, "templates"),
    os.path.join(PROJECT_PARENT, "media/css"),
)

wideTitle.css(在/media/css 中):

#wideTitle{
    clear:both;
    height:180px;
    padding-left:0px;
    background: url({{ contentAbout.headerImage.url }}) no-repeat top left;
}

我可以通过在浏览器中输入 URL 来访问 CSS 文件,但 Base.html 根本无法读取它。我想我已经拥有了一切体面的东西;我看过herehere提示。有人有想法吗?

最佳答案

生成的样式表是否使用了正确的 MIME 类型?否则,浏览器可能不会将其解释为 CSS。

我不记得 render_to_response 是否接受 content_type='text/css 作为参数,但如果 Django 尚未使用,则有一种方法可以设置它正确的 MIME 类型。

编辑:@TommasoBarbugli pointed out ,您需要 render_to_responsemimetype 参数。

(Firefox 的 Firebug 附加组件,或 Chrome/Safari 中的 Web Inspector,应该能够向您显示样式表的 mime 类型。)

关于css - 正确使用CSS文件中的模板语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9285408/

相关文章:

html - 提供不同的填充内联跨度

javascript - 使用 javascript 从文本文件中提取数据

python - Django Rest 框架缓存 header

django - 如何在模板中使用 request.META.get ('HTTP_REFERER' )?

python - Django TemplateSyntaxError - 'staticfiles' 不是注册的标签库

django - 将文本转换为标题 jinja 模板

html - 由于 bootstrap,CSS 样式没有显示出来?

html - 错误 - 从第二个元素开始向左浮动,而不是从 div 开始

python - Django Haystack - 无法构建 solr 架构

python - 更快地访问 Django 中最旧的数据库记录的方法?