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:
- Jak mogę używać less podczas tworzenia, aby został skompilowany, gdy edytuję jeden z moich plików less?
- 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
2 answers
-
Install django-static-precompiler:
- Run
pip install django-static-precompiler
- dodaj
static_precompiler
do INSTALLED_APPS
- Run
-
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) -
Użyj mniej w szablonach:
-
załaduj znacznik szablonu :
{% load less %}
-
Use less template tag :
<link rel="stylesheet" href="{{ STATIC_URL}}{% less "path/to/styles.less" %}" />
-
załaduj znacznik szablonu :
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.
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.
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