Skip to main content

PyPI PyPI - Python Version PyPI - Django Version PyPI - Wheel PyPI - Downloads

django-sass-compiler

Simplify the use of Sass in Django

Using libsass, compile all .scss files found in the paths defined in settings.STATICFILES_FINDERS


Quickstart

1.- It's available on PyPI, so you can install it using pip

pip install django-sass-compiler

2.- Add django_sass_compiler to your INSTALLED_APPS

INSTALLED_APPS = [
    ...,
    'django_sass_compiler',
]

3.- Run sass-compiler

python manage.py sass-compiler

or combine with runserver command, useful with --watch argument.

python manage.py runserver & python manage.py sass-compiler --watch

Arguments:

All arguments are optional and combinable

  • -s, --style

    Coding style of the compiled result. choose one of: 'nested', 'expanded' (default), 'compact', 'compressed'

    You can also define this argument in settings.SASS_COMPILER_STYLE environment variable.

    SASS_COMPILER_STYLE = 'compressed'
    
  • -p, --precision

    Sets the number of digits of precision. 8 by default.

    You can also define this argument in settings.SASS_COMPILER_PRECISION environment variable.

    SASS_COMPILER_PRECISION = 5
    
  • -nb, --no-build

    Don't create build folder.

    app/
      |- static/
         |- app/
            |- scss/
               |- style.scss
            |- css/
               |- style.css
    

    instead

    app/
      |- static/
         |- app/
            |- scss/
               |- style.scss
            |- build/
               |- css/
                  |- style.css
    

    You can also define this argument in settings.SASS_COMPILER_NO_BUILD environment variable.

    SASS_COMPILER_NO_BUILD = True 
    
  • -m, --map

    Build a source map.

    You can also define this argument in settings.SASS_COMPILER_MAP environment variable.

    SASS_COMPILER_MAP = True 
    
  • -c, --clean

    Remove old files before new compilation.

    NOTE: This action will only take effect on current destination folder (--no-build).

    You can also define this argument in settings.SASS_COMPILER_CLEAN environment variable.

    SASS_COMPILER_CLEAN = True 
    
  • -w, --watch

    Watch and compile files when .scss files are changed.

    You can also define this argument in settings.SASS_COMPILER_WATCH environment variable.

    SASS_COMPILER_WATCH = True 
    
  • -i, --ignore

    Ignore files or directories matching this glob-style pattern. Use multiple times to ignore more.

    NOTE: All patterns will applied in the path since the static folder to the file name.

    Example:

    To ignore apps/app/static/app/scss/style.scss the longest path would be:

    python manage.py sass-compiler --ignore=app/scss/style.scss or

    python manage.py sass-compiler -i=**/**/style.scss

    or some other glob-style pattern.

    You can also define list paths to ignore in settings.SASS_COMPILER_IGNORE environment variable.

    SASS_COMPILER_IGNORE = [
       'app/scss/style.scss',
       'app/scss/test/*'
    ]
    

@import

To @import .scss files you must use absolute paths unless the files are at the same or less level, in that case you can use relative paths

some-app/
  |- static/
     |- some-app/
        |- scss/
            |- pages
                |- _timeline.scss
            |- _colors.scss
            |- style.scss
other-app/
  |- static/
     |- other-app/
        |- scss/
            |- _variables.scss

some-app/style.scss

@import 'other-app/scss/variables';
@import 'pages/timeline';
@import 'colors'
### WRONG ###
@import '../../variables'; 

Outputs

Standard output:
$ python manage.py sass-compiler 
app/
  |- static/
     |- app/
        |- scss/
           |- _colors.scss
           |- style.scss
        |- build/
           |- css/
              |- style.css
With some argument output:
python manage.py sass-compiler --style=compressed --no-build --map
app/
  |- static/
     |- app/
        |- scss/
           |- _colors.scss
           |- style.scss
        |- css/
           |- style.min.css
           |- style.css.map

Licensing

The project is licensed under the BSD License.

Metadata

Release files for django-sass-compiler 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for django-sass-compiler 1.1.0
File Interpreter ABI Platform
django_sass_compiler-1.1.0-py3-none-any.whl Python 3 none any Details

Release files / django_sass_compiler-1.1.0-py3-none-any.whl

Download URL django_sass_compiler-1.1.0-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c4f0eae81318b32c935cdbb549d6e33b44524e8f5a2cd151713226d7a3f28cb1
BLAKE2b-256 checksum
How to use checksums
ea13856733ace09003722a480893ffcac7e2891bc91cbba3dbb7d2dabb971647
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.1

Release history Release notifications | RSS feed

This release

1.1.0 This release

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.2.0

1 release file

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page