【问题标题】:Django css filesDjango css 文件
【发布时间】:2011-03-11 11:05:01
【问题描述】:

我想为我的 Django 模板创建一些 CSS 样式。每个视图都会关联一个 css,但会有一些区域与我的模板中的任何视图都没有关联。

如何加载 css 文件?在我的视图的媒体中声明它们是否足够,并将它们加载到 html 的标题中?

另外,将样式关联到未关联到某个视图的 div 是否正确?

谢谢!

【问题讨论】:

    标签: css django file


    【解决方案1】:

    如果您对典型的 django 视图(一种方法)使用单词 view,则为每个视图创建单独的 css 文件不是一个好主意(除非您有非常特定的应用程序)。

    一般来说,您需要以这样的方式创建您的 css 文件:

    1. 可以在多个模板中应用的通用样式不会在多个 css 文件中重复
    2. 您可以轻松管理几个 css 文件中的样式

    据我所知,在 Django 中创建 每个视图的 css 文件每个模板的 css 文件 没有严格的准则。

    基本上指向head中的一些css文件,其中包含适合模板的样式在这里就足够了。当然,您需要确保提供此文件的正确路径。

    您可以使用大多数模板使用的样式制作一个通用 css,并制作一系列仅在某些专门模板中有效的特定 css 文件。

    我还建议您查看django-compress,如果您想将您的网站推广到更广泛的受众 - 这个应用程序可以使您的静态文件(如 css)更小,而且它有助于连接 css 和 js 文件组。这对性能有一些积极影响,而不会降低代码的可读性。

    【讨论】:

    • 嗯..我明白了。所以,我也可以在 django tempaltes 中使用经典的
      ,它不会被弃用,对吧?
    • 我不认为它已被弃用。你知道一些不同的方法吗?如果您从 css+html 开始,我强烈建议您注意 css 文件中的重复样式 - 它会造成很多麻烦!我还建议仔细研究一些更大(且外观漂亮)项目中的 css 文件组织。
    • 将 CSS 合并到一个文件中还有另一个原因:加载时间。总体而言,加载单个 48KB 文件比加载 4 个 12KB 文件或(可怕!)12 个 4KB 文件快得多。文件加载的大部分成本是建立网络连接。这也适用于其他类型的支持文件,例如JavaScript 和图标。 JS文件可以合并,图标都可以放在一张图片中,然后使用CSS精灵功能选择你想要的图片部分。 (这是有关该主题的众多教程之一:css-tricks.com/css-sprites
    • 这正是我写关于“对性能的影响”时的想法。 django-compress 在这里是一个有用的工具
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签