在Django项目中保存SASS文件的位置?

时间:2016-10-05 14:30:01

标签: python django sass

我知道Django项目中的静态文件(例如CSS,JS,图像)理想地保存在static/目录中,无论是在应用程序内还是项目根目录中。

示例文件夹结构可能看起来像

project_root/my_app/static/my_app/cssjsimg,或 project_root/static/project_name/cssjsimg

此外,我将运行collectstatic命令使其准备就绪。

但我的问题是我应该在哪里保存我的SASS文件?如果我在static/my_app/内创建一个sass目录以及cssjsimg目录,那么当我准备好它们时,它们就不会公开供应

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

谢谢

1 个答案:

答案 0 :(得分:5)

将资产保留在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)。脚本也一样;您可以在assets/scripts中保留Coffee或Typescript文件,然后将它们编译为static中的Javascript文件。这样,只有最终文件可供用户使用,并且与您(开发人员)处理的内容完全分开。