我知道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/
内创建一个sass目录以及css
,js
和img
目录,那么当我准备好它们时,它们就不会公开供应
什么是将我的SASS(或SCSS)文件保存在Django项目中的最佳位置/目录,以便它们不会公开,因为它们已经被处理成最终可供公众使用的CSS?另外,如果我的概念不清楚静态文件,请告诉我。
谢谢
答案 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文件。这样,只有最终文件可供用户使用,并且与您(开发人员)处理的内容完全分开。