Jak używać mniej css z django?

Używam Twittera bootstrap i django. Mam swoje zależności obsługiwane z pliku wymagań pip.

Mam 2 pytania:

  1. Jak mogę używać less podczas tworzenia, aby został skompilowany, gdy edytuję jeden z moich plików less?
  2. Jak mogę utworzyć jakiś skrypt kompilacji, który będzie kompresował i łączył moje JS i generował CSS z Less jako część wdrożenia?

Napisałem własny skrypt build, który tworzy virtualenv, uruchamia ' pip install-r wymagania.txt', django syncdb, django migrate i ruszamy.

Jaki jest najprostszy sposób integracji less z tym?

Thanks

Author: user1037541, 2012-01-04

2 answers

  1. Install django-static-precompiler:

    1. Run pip install django-static-precompiler
    2. dodaj static_precompiler do INSTALLED_APPS
  2. Zainstaluj lessc wykonywalny, za pomocą menedżera pakietów lub uruchom npm install less (npm jest menedżerem pakietów węzłów , który powinien być distro-instalowalny, używać w ostateczności)

  3. Użyj mniej w szablonach:

    1. załaduj znacznik szablonu : {% load less %}
    2. Use less template tag : <link rel="stylesheet" href="{{ STATIC_URL}}{% less "path/to/styles.less" %}" />

Zauważ, że domyślnie skompilowane pliki są zapisywane w folderze COMPILED pod twoim STATIC_ROOT (lub MEDIA_ROOT jeśli nie masz STATIC_ROOT w Ustawieniach). Możesz zmienić nazwę tego folderu za pomocą ustawienia STATIC_PRECOMPILER_OUTPUT_DIR. Więcej informacji można znaleźć w dokumentacji .

Nie próbowałem tego osobiście, ale wiem, że django-compressor obsługuje również mniej.

 42
Author: jpic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-13 23:38:52

Wybrana odpowiedź jest teraz nieaktualna: django-less nie jest już utrzymywana (jak określono na jej stronie pypi), a deweloper sugeruje użyciedjango-static-precompiler zamiast tego.

 14
Author: brianmearns,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-14 16:25:36