我正在尝试通过我的url.py文件提供CSS文件,因此我可以在CSS中使用模板标记。
这是我的代码。
base.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))
settings.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根本没有阅读它。我想我的一切都很体面;我看过here和here了解提示。有人有想法吗?
答案 0 :(得分:2)
生成的样式表是否使用正确的mime类型?如果没有,浏览器可能不会将其解释为CSS。
我不记得render_to_response
是否接受content_type='text/css
作为参数,但如果Django尚未使用正确的mime类型,则可以设置它。
修改:为@TommasoBarbugli pointed out,您需要mimetype
的{{1}}参数。
(Firefox的Firebug插件或Chrome / Safari中的Web Inspector应该能够显示样式表的mime类型。)