【问题标题】:Where to keep SASS files in a Django project?在 Django 项目中将 SASS 文件保存在哪里?
【发布时间】:2016-10-05 14:30:01
【问题描述】:

我了解 Django 项目中的静态文件(例如 CSS、JS、图像)最好保存在 static/ 目录中,无论是在应用程序还是项目根目录中。

示例文件夹结构可能如下所示

project_root/my_app/static/my_app/css、js 或 img,或 project_root/static/project_name/css、js 或 img

另外,我将运行collectstatic 命令让它们准备好上桌。

但我的问题是我应该将我的 SASS 文件保存在哪里?如果我在 static/my_app/ 以及 css、js 和 img 目录中创建一个 sass 目录,当我准备好为它们提供服务时,它们不会公开吗?

将我的 SASS(或 SCSS)文件保存在 Django 项目中的最佳位置/目录可能是什么,以便它们不向公众提供,因为它们已经被处理成最终可供公众使用的 CSS?另外,如果我对静态文件的概念不清楚,请告诉我。

谢谢

【问题讨论】:

    标签: python django sass


    【解决方案1】:

    将资产保存在assets 目录中。这是我使用的简单项目布局(很多东西都省略了):

    [project root directory]
              ├── apps/
              |    ├── [app]/
              |    └── __init__.py
              |
              ├── assets/
              |     ├── styles/ (css/)
              |     ├── fonts/
              |     ├── images/ (img/)
              |     └── scripts/ (js/)
              |
              ├── bin/
              ├── fixtures/
              ├── media/
              ├── docs/
              ├── requirements/
              ├── [project name]/
              |        ├── __init__.py
              |        ├── settings/
              |        ├── urls.py
              |        └── wsgi.py
              |
              ├── templates/
              |     ├── [app templates]/
              |     ├── base.html
              |     └── main.html
              |
              ├── manage.py
              ├── .gitignore
              ├── .gitmodules
              └── README
    

    Sass 文件被编译成 CSS,所以它们需要分开。好的做法是将所有资产(样式/字体/图像/脚本)放在一个子目录中,然后通过某种任务编译/复制它们(+ 缩小/丑化/处理任何你想要的人)到static 目录 -跑步者(例如 Gulp)。脚本也是如此;您可以将 Coffee 或 Typescript 文件保存在 assets/scripts 中,然后将它们编译为 static 中的 Javascript 文件。这样,只有最终文件可供用户使用,并且与您(开发人员)工作的内容很好地分开。

    【讨论】:

    • 告诉 collectstatic 忽略 scss 文件夹不是更容易吗?只是复制 imgs 和字体对我来说听起来很 hacky
    • 我在你的文件层次结构中没有看到那个静态文件夹?
    • 我将图像和字体保存在static/,如果它们没有被编译或更改。对我而言,assets/ 目录用于存放在放入static/ 之前需要编译的内容。如果它根本没有改变,为什么不默认保持静态。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 2015-05-11
    • 2019-07-05
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多