Django和compass具有多个应用程序

Django和compass具有多个应用程序,django,sass,compass-sass,django-compressor,Django,Sass,Compass Sass,Django Compressor,我想用它来简化在Django应用程序中编写CSS的任务。但我不知道如何配置它 我看到django compressor支持SASS,但为了使用Compass,我需要将.*.scss文件转储到我的工作区(django 1.4),因为当django compressor运行scss命令时,这是工作目录 听起来很合理(在开发期间将.scss文件编译到.css并提交给SCM),但我不清楚如何使用SASS/Compass工具在Django工作区的多个应用程序(可重用和不可重用)中编译.scss 我将每个应

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

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

听起来很合理(在开发期间将
.scss
文件编译到
.css
并提交给SCM),但我不清楚如何使用SASS/Compass工具在Django工作区的多个应用程序(可重用和不可重用)中编译
.scss

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

我的问题是:

  • @import
    无法跨应用程序工作
  • .*.scss
    文件放入工作区是不可接受的
  • 在工作区中运行
    compass watch
    失败,原因是:

    没有要编译的东西。如果您正试图启动一个新项目,那么您已经省去了directory参数

  • 使用
    @include background(…)
    失败:

    语法错误:未定义的操作:“-compass列表大小(紧凑(#cccccc,false,false,false,false,false,false))gt 1”


  • 也许您可以使用类似于(甚至是bash脚本)的工具来处理文件的编译和放置。对于
    compass-watch
    命令,您可能需要手动为
    .scss
    .css
    文件的位置提供附加参数,以便它成功地
    监视
    (通过运行
    compass-help-watch
    检查帮助文档).

    我发现从本质上区分Django和Sass要容易得多。您仍然可以同时使用它们,但可能需要另一个终端窗口。归根结底,这一切都是为了服务于已编译的资产

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

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

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


    Frank Wiles的文章非常接近我如何设置我的项目,尽管我跳过了使用django compressor,因为我觉得不需要添加中间件,而且显然我使用Grunt而不是Gulp。

    是*.scss文件的一部分吗?如果是这样,为什么不将它们包括在工作区中?