在 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 中创建的现有视图中添加视图?

在 ViewController 的 loadView 中创建的自动调整视图的 AutoLayout 约束

从 AppDelegate 访问在故事板的 tableview 中创建的视图?