在django中使用sass的最简单方法。纯python,最小依赖性,不需要特殊配置!
django-sass的Python项目详细描述
django sass
对django使用Sass的绝对最简单的方法。 纯python,最小依赖性,不需要特殊配置。
安装
- 从PIP安装。
pip install django-sass
- 添加到您的
INSTALLED_APPS
(您只需要在开发环境中执行此操作, 您不希望在生产设置文件中包含此项,尽管它添加了零 间接费用:
INSTALLED_APPS=[...,'django_sass',]
- 恭喜,您完成了
用法
在应用程序的静态文件中,正常使用s as s。唯一的区别是
可以在@import
语句中使用../
向上遍历not。例如:
app1/
|- static/
|- app1/
|- scss/
|- _colors.scss
|- app1.scss
app2/
|- static/
|- app2/
|- scss/
|- _colors.scss
|- app2.scss
在app2.scss
中,可以引用app1和app2的_colors.scss
导入,因此:
@import'app1/scss/colors';@import'app2/scss/colors';// Or since you are in app2, you can reference its colors with a relative path.@import'colors';
然后编译app2.scss
并将其放到css
目录中,
运行以下管理命令(-g
将构建一个源映射
有助于调试css):
python manage.py sass app2/static/app2/scss/app2.scss app2/static/app2/css/app2.css -g
或者,可以将整个scss
目录编译到
对应的css
目录。这也将遍历所有子目录:
python manage.py sass app2/static/app2/scss/ app2/static/app2/css/
在django html模板中,正常引用css文件:
{% load static %} <linkhref="{% static 'app2/css/app2.css' %}"rel="stylesheet">
恭喜你,你现在是django+sass的开发者了!
现在您可以将这些css文件提交给版本控制,或者运行collectstatic
并正常部署它们。
有关项目布局的示例,请参见此存储库中的testproject/
。
监视模式
要让django-sass
监视文件并在它们更改时重新编译它们(在开发中很有用)。
添加--watch
标志。
python manage.py sass app2/static/app2/scss/ app2/static/app2/css/ --watch
示例:将压缩css部署到生产环境中
要编译缩小的css,请使用-t
标志指定压缩级别(其中之一:
“展开”、“嵌套”、“压缩”、“压缩”)。默认值是“expanded”,即
是人类可读的。
python manage.py sass app2/static/app2/scss/ app2/static/app2/css/ -t compressed
如果需要,现在可以选择将css文件提交给版本控制,
或者忽略它们,任何更适合你需要的东西。然后正常运行collectsatic
。
python manage.py collectstatic
现在继续正常部署文件。
限制
^ {
}语句必须引用相对于 STATICFILES_FINDERS
中路径的路径 (通常是应用程序的static/
目录或指定的其他目录 在STATICFILES_DIRS
)中。或者它们可以引用一个相对路径,该路径等于或小于 当前文件。它不支持遍历文件系统(即../
)。合法进口:
@import'file-from-currdir';@import'subdir/file';@import'another-app/file';
非法导入:
@import'../file';
目前只支持以
.scss
结尾的文件。仅支持类似于
pysassc
的-g
、-p
和-t
选项。理想情况下django-sass
将 尽可能类似于pysassc
命令行界面。
请随意提交问题或发出请求以改善这些限制。
为什么是Django Sass?
其他包,如django-libsass
还有django-sass-processor,
虽然很好的包,但需要django-compressor
,这本身取决于
其他需要编译才能安装的软件包。
- 如果您只想在开发中使用sass而不想安装不需要的web
依赖关系,那么
django-sass
就适合你了。 - 如果不想在生产服务器上部署任何处理器或压缩器,
那么
django-sass
就是给你的。 - 如果不想改变引用和服务静态文件的方式,
那么
django-sass
就是给你的。 - 如果你想为sass做最简单的安装和设置,
django-sass
也是给你的。
django sass只依赖于libsass(它为windows、mac和 当然还有django(任何版本)。
更改日志
0.2.0
- 新功能:
-g
用于构建源映射的选项(当输入是文件而不是目录时)。
0.1.2
- 修正:把编译后的css文件写成utf-8。
- 更改:默认
-p
精度从5更改为8,以便更好地支持构建引导css。
0.1.1
- < LIQ:在指定文件输出时创建完全文件路径(如果不存在)。
0.1.0
- 初始版本