在 django-page-CMS 中创建的视图会禁用所有 CSS?包含代码,请修复
Posted
技术标签:
【中文标题】在 django-page-CMS 中创建的视图会禁用所有 CSS?包含代码,请修复【英文标题】:views created in django-page-CMS disables all CSS? code included, a fix please 【发布时间】:2011-04-23 18:09:07 【问题描述】:我正在使用 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。甚至不是基础,但是如果我不使用自己的视图,一切都显示得很好。我将非常感谢您在此问题上的帮助。
【问题讨论】:
您的意思是它与 cms 生成的页面完美配合吗?渲染页面的 HTML 是否正常,尤其是 css 文件的链接? 是的,它与 cms 生成的页面完美配合。绝对没问题。然后,一旦我使用扩展了其中一个样式精美的页面的模板创建了一个视图。所有样式都消失了。奇怪,它基本上告诉我如果我想使用我自己的观点我不能使用我的样式! 我会非常感谢一些帮助 发布代码如何/在何处集成您的样式! 代码已发布。所有文件都在正确的目录中。 【参考方案1】:您的 % 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 %
【讨论】:
不,不幸的是它没有区别。你知道为什么会这样吗? 当它被放置在 % block page_style % 内时,底座实际上停止工作,这是不对的。【参考方案2】:MEDIA_URL 未正确通过。
RequestContext() 是问题所在。 content_instance 未设置,因此在呈现模板时 MEDIA_URL 变量不会出现。
使用 render_to_response 时.....
return render_to_response(YOUR_TEMPLATE, YOUR_TEMPLATE_CONTEXT,
context_instance=RequestContext(request))
【讨论】:
以上是关于在 django-page-CMS 中创建的视图会禁用所有 CSS?包含代码,请修复的主要内容,如果未能解决你的问题,请参考以下文章
带有在 IB 中创建的自定义视图的 InputAccessoryView
为 android ListView 设置空视图不适用于在 Java 中创建的视图
如何在具有自动布局的 Interface Builder 中创建的现有视图中添加视图?