我想使用Compass来简化在我的Django应用程序中编写CSS的任务。但我不知道如何配置它。
我看到django-compressor支持SASS,但是为了使用Compass我需要将_*.scss
文件转储到我的工作区(Django 1.4),因为这是django-compressor运行时的工作目录{{1命令。
Eric Meyer's approach听起来很合理(在开发过程中将scss
文件编译到.scss
并提交给SCM)但是如何使用SASS / Compass工具编译{{1}并不明显在Django工作区中的多个应用程序(可重用和不可重用)中。
我在.css
中为每个应用存储静态样式表文件。
我遇到的问题是:
.scss
不适用于各种应用<app>/static/<app>/css/
个文件放在工作区中是不可接受的在工作区中运行@import
失败,显示:
无需编译。如果您正在尝试启动一个新项目,那么您已经离开了目录参数。
使用_*.scss
失败:
语法错误:未定义的操作:“ - compass-list-size(compact(#cccccc,false,false,false,false,false,false,false,false,false))gt 1”
答案 0 :(得分:1)
我发现将Django与Sass基本分开要容易得多。您仍然可以同时使用它们,但它可能需要另一个终端窗口左右。最后,无论如何都是为了提供已编译的资产。
我通常使用root中的/ src /目录配置我的项目,这是我放置Sass文件的地方。我还在该根目录中设置了一个Compass项目,其中编译的样式表进入/ static / css /.
显然,如果您在项目中有很多应用程序,这可能会成为问题,因为您要么想要在root / static /中创建应用程序目录,要么在/
中创建另一个Compass项目通常,我使用Grunt来编译我的Sass / Compass文件,所以虽然很容易重新创建,但它有点复杂。
Frank Wiles的帖子Ultimate Front End Development Setup与我设置项目的方式非常接近,虽然我跳过使用django-compressor因为我觉得不需要添加中间件,显然我使用的是Grunt而不是Gulp。
答案 1 :(得分:0)
也许您可以使用Fabric(甚至是bash脚本)之类的工具来处理文件的编译和放置。对于compass watch
命令,您可能需要手动为.scss
和.css
文件的位置提供其他参数,以使其成功watch
(查看帮助)运行compass help watch
)的文档。