我做的 Web 项目不多,去年在一个 Nuxt(Vue)的项目才第一次用 sass。用它来处理 CSS 真是非常方便,于是决定新的 Web 项目都用它了,中古项目也打算在维护中慢慢迁移至 sass。
由于我的 Web 项目部分还是基于 Django 去完成的,在 Django 中是否也可以很方便地集成使用 sass 呢?答案是肯定的。django-sass-processor 就可以满足需求。
sass 的使用非常简单,只需要四步,以下以我的 pipenv 部署环境为例。
安装
pipenv install libsass django-compressor django-sass-processor
配置
INSTALLED_APPS = [
'sass_processor',
]
使用
{% load sass_tags %}
<link href="{% sass_src 'myapp/css/mystyle.scss' %}" rel="stylesheet" type="text/css" />
部署
pipenv run python manage.py collectstatic --noinput --ignore=*.scss
小结
值得一提的是,默认情况下,官方教程里面的 SASS_PROCESSOR_ROOT 和 STATICFILES_FINDERS 是不需要去定义的,不然没配置好的话,会遇到「Found another file with the destination path...」的错误。
django-sass-processor 支持非常多的配置选项,而我就选择开箱即用的默认配置,it just works.