Skip to main content

THIS PACKAGE IS NOT MAINTAINED.

Please use django-static-precompiler

Django SCSS

Django SCSS provides template tags to compile SCSS into CSS from templates. It works with both inline code and extenal files.

Installation

  1. Add “django_scss” to INSTALLED_APPS setting.

  2. Make sure that you have sass executable installed. See SASS official site for details.

  3. Optionally, you can specify the full path to sass executable with SCSS_EXECUTABLE setting. By default it’s set to sass.

  4. In case you use Django’s staticfiles contrib app you have to add django-scss’s file finder to the STATICFILES_FINDERS setting, for example :

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    # other finders..
    'django_scss.finders.SCSSFinder',
)

Example Usage

Inline

{% 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>

renders to

<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>

External file

{% load scss %}

<link rel="stylesheet" href="{{ STATIC_URL}}{% scss "path/to/styles.scss" %}" />

renders to

<link rel="stylesheet" href="/media/SCSS_CACHE/path/to/styles-91ce1f66f583.css" />

Note that by default compiled files are saved into SCSS_CACHE folder under your STATIC_ROOT (or MEDIA_ROOT if you have no STATIC_ROOT in your settings). You can change this folder with SCSS_ROOT and SCSS_OUTPUT_DIR settings.

Note that all relative URLs in your stylesheet are converted to absolute URLs using your STATIC_URL setting.

Settings

SCSS_EXECUTABLE

Path to SASS compiler executable. Default: “sass”.

SCSS_ROOT

Controls the absolute file path that compiled files will be written to. Default: STATIC_ROOT.

SCSS_OUTPUT_DIR

Controls the directory inside SCSS_ROOT that compiled files will be written to. Default: "SCSS_CACHE".

SCSS_USE_CACHE

Whether to use cache for inline styles. Default: True.

SCSS_CACHE_TIMEOUT

Cache timeout for inline styles (in seconds). Default: 30 days.

SCSS_MTIME_DELAY

Cache timeout for reading the modification time of external stylesheets (in seconds). Default: 10 seconds.

SCSS_USE_COMPASS

Boolean. Wheter to use compass or not. Compass must be installed in your system. Run “sass –compass” and if no error is shown it means that compass is installed.

Changes

0.6.1

  • Use hashlib instead of django.utils.hashcompat which is deprecated in Django 1.5

0.6

  • Add staticfiles finder to serve compiled files in dev mode

0.5

  • Add SCSS_ROOT setting

0.4.1

  • Fix unicodedecodeerror with non ascii in scss file

0.4

  • Switch to staticfiles.finders when looking up the files in DEBUG mode.

  • Fix the CWD when running scss compiler

0.3

  • Add support for lookup in STATICFILES_DIRS

  • Allow to use Compass

0.2

  • Log SCSS compilation errors

  • Fixed bug with paths on Windows

0.1

  • Initial release

Metadata

Release files for django-scss 0.6.1

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

Source distribution (sdist)

Source distribution for django-scss 0.6.1
File Size Uploaded Provenance
django-scss-0.6.1.tar.gz 8.9 kB Without provenance Details

Release files / django-scss-0.6.1.tar.gz

Download URL django-scss-0.6.1.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
201545148b5531680a4729c4aa36f08cfe5c256eecfe4e075a90c20e79c06693
BLAKE2b-256 checksum
How to use checksums
748c8d4d317590adbd27a4f7697b572f3c11d031daa610bf0ff74eee15912dea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for django-scss 0.6.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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