将scss编译为css的django模板标记
django-scss的Python项目详细描述
此包未维护。
django scss
django scss提供了模板标记,可以将scss从模板编译成css。 它可以处理内联代码和扩展文件。
安装
- 将“django_scss”添加到已安装的应用程序设置。
- 确保安装了sass可执行文件。详见国资委官方网站。
- 也可以使用scss_executable设置指定sass可执行文件的完整路径。默认设置为sass。
- 如果使用django的staticfiles contrib应用程序,则必须将django scss的文件查找程序添加到STATICFILES_FINDERS设置中,例如:
STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', # other finders.. 'django_scss.finders.SCSSFinder', )
示例用法
内联
{% load scss %} <style> {% inlinescss %} #header { h1 { font-size: 26px; font-weight: bold; } p { font-size: 12px; a { text-decoration: none; &:hover { border-width: 1px } } } } {% endinlinescss %} </style>
渲染到
<style> #header h1 { font-size: 26px; font-weight: bold; } #header p { font-size: 12px; } #header p a { text-decoration: none; } #header p a:hover { border-width: 1px; } </style>
外部文件
{% load scss %} <link rel="stylesheet" href="{{ STATIC_URL}}{% scss "path/to/styles.scss" %}" />
渲染到
<link rel="stylesheet" href="/media/SCSS_CACHE/path/to/styles-91ce1f66f583.css" />
请注意,默认情况下,编译的文件保存在STATIC_ROOT下的SCSS_CACHE文件夹中(如果设置中没有STATIC_ROOT,则保存在MEDIA_ROOT文件夹中)。 您可以使用SCSS_ROOT和SCSS_OUTPUT_DIR设置更改此文件夹。
注意,样式表中的所有相对url都使用STATIC_URL设置转换为绝对url。
设置
- SCSS_EXECUTABLE
- sass编译器可执行文件的路径。默认值:“sass”。
- SCSS_ROOT
- 控制编译文件将写入的绝对文件路径。默认值:STATIC_ROOT.
- SCSS_OUTPUT_DIR
- 控制SCSS_ROOT中编译文件将写入的目录。默认值:"SCSS_CACHE".
- SCSS_USE_CACHE
- 是否对内联样式使用缓存。默认值:True.
- SCSS_CACHE_TIMEOUT
- 内联样式的缓存超时(秒)。默认值:30天。
- SCSS_MTIME_DELAY
- 读取外部样式表修改时间的缓存超时(秒)。默认值:10秒。
- SCSS_USE_COMPASS
- 布尔型。是否使用指南针。指南针必须安装在您的系统中。运行“sass–compass”,如果没有显示错误,则表示已安装了compass。
变化
0.6.1
- 使用hashlib而不是django 1.5中不推荐使用的django.utils.hashcompat
0.6
- 添加staticfiles finder以在开发模式下提供编译文件
0.5
- 添加scss\u根设置
0.4.1
- 用scss文件中的非ascii修复unicodedecodeerror
0.4
- Switch to staticfiles.finders when looking up the files in DEBUG mode.
- Fix the CWD when running scss compiler
0.3
- 添加对staticfiles目录中查找的支持
- 允许使用指南针
0.2
- 记录SCSS编译错误
- 修复了Windows上路径的错误
0.1
- 初始版本