6

我想使用Compass来简化在我的 Django 应用程序中编写 CSS 的任务。但我不知道如何配置它。

我看到 django-compressor 支持 SASS,但是为了使用 Compass,我需要将_*.scss文件转储到我的工作区(Django 1.4),因为这是 django-compressor 运行scss命令时的工作目录。

Eric Meyer 的方法听起来很明智(在开发期间编译.scss文件.css并提交给 SCM),但我如何使用 SASS/Compass 工具.scss在 Django 工作区中的多个应用程序(可重用和不可重用)中编译并不明显。

我将每个应用程序的静态样式表文件存储在<app>/static/<app>/css/.

我遇到的问题是这样的:

  1. @import不适用于跨应用程序
  2. _*.scss文件放入工作区是不可接受的
  3. compass watch在工作区中运行失败:

    没有什么可编译的。如果你试图开始一个新项目,你已经离开了目录参数。

  4. 使用@include background(...)失败:

    语法错误:未定义操作:“-compass-list-size(compact(#cccccc, false, false, false, false, false, false, false, false, false)) gt 1"

4

2 回答 2

1

我发现从本质上将 Django 与 Sass 分开要容易得多。您仍然可以同时使用它们,但可能需要另一个终端窗口左右。最后,无论如何,这都是关于为已编译的资产提供服务。

我通常使用根目录中的 /src/ 目录来配置我的项目,这是我放置 Sass 文件的地方。我还在那个根目录中建立了一个 Compass 项目,编译后的样式表进入 /static/css/。

显然,如果您在项目中有很多应用程序,这可能会成为问题,因为您想在根目录 /static/ 中创建应用程序目录或在 / 中创建另一个 Compass 项目

通常,我使用 Grunt 来编译我的 Sass/Compass 文件,所以它有点复杂,虽然很容易重新创建。

Frank Wiles 的帖子Ultimate Front End Development Setup与我设置项目的方式非常接近,尽管我跳过使用 django-compressor 因为我觉得不需要添加中间件,而且显然我使用 Grunt 而不是 Gulp。

于 2014-11-06T20:05:32.790 回答
0

Perhaps you can use a tool like Fabric (or even a bash script) to deal with the compilation and placement of files. As for the compass watch command, you might need to manually provide additional parameters for the location of the .scss and .css files in order for it to watch successfully (check the help docs by running compass help watch).

于 2013-01-19T08:39:39.380 回答