【发布时间】:2013-04-13 06:54:42
【问题描述】:
我在我的 Django 项目中组织了模板,使网站上的每个页面都包含一个“通用”LESS 文件,并且每个页面还可以指定另一个包含页面特定样式的 LESS 文件。
问题是我需要特定于页面的 LESS 文件才能引用“通用”LESS 文件中的变量。我认为最简单的方法是简单地将变量声明移动到一个单独的文件中,两个 LESS 文件都可以@import。
但是,Django 应用程序使用单独的目录来存储它们的静态文件。最后,文件系统看起来像这样:
- 常见的
- 静止的
-CSS
- 定义.less
- common.less
- 其他
- 静止的
-CSS
- other.less
common.less 和other.less 都需要导入definitions.less。对于common.less,这很简单:
@import "definitions.less";
以下是页面中实际包含 LESS 文件的方式,以防万一:
{% load compress %}
{% load static %}
{% compress css %}
<link href="{% static "css/common.less" %}"
rel="stylesheet" type="text/less">
{% endcompress %}
确保公共变量定义可用于两个 LESS 文件的最简单方法是什么?我想避免合并 LESS 文件有几个原因:
- 它消除了松散耦合的好处(停用应用程序而不会对站点的其余部分产生任何副作用的能力)。
- 由于必须获取所有应用的所有样式,因此增加了为单个页面检索的额外数据。
【问题讨论】:
-
您找到答案了吗?我也遇到过同样的问题
-
关于解决这个问题的任何消息?
标签: css django less django-compressor