Как использовать меньше CSS с Django? - PullRequest
39 голосов
/ 04 января 2012

Я использую Twitter Bootstrap и Django. Мои зависимости обработаны с помощью файла требований к пипсу.

У меня есть 2 вопроса:

  1. Как я могу использовать меньше во время разработки, чтобы он скомпилировался при редактировании одного из моих файлов меньшего размера?
  2. Как я могу создать какой-то сценарий сборки, который будет сжимать и комбинировать мой JS и генерировать CSS из Less в рамках развертывания?

Я написал собственный скрипт сборки, который создает virtualenv, запускает 'pip install -r needs.txt', django syncdb, django migrate и затем мы переходим.

Какой самый простой способ меньше интегрироваться в это?

Спасибо

Ответы [ 2 ]

42 голосов
/ 04 января 2012
  1. Установить django-static-precompiler :

    1. Выполнить pip install django-static-precompiler
    2. Добавить static_precompiler INSTALLED_APPS
  2. Установить lessc Исполняемый файл , либо через менеджер пакетов, либо запустить npm install less ( npm isменеджер пакетов узла , который должен быть дистрибутивным, используйте в крайнем случае)

  3. Использовать меньше в шаблонах :

    1. Загрузить тег шаблона : {% load less %}
    2. Использовать тег шаблона меньше : <link rel="stylesheet" href="{{ STATIC_URL}}{% less "path/to/styles.less" %}" />

Обратите внимание, что по умолчанию скомпилированные файлы сохраняются в папке COMPILED в вашем STATIC_ROOT (или MEDIA_ROOT, если у вас нет STATIC_ROOT в ваших настройках).Вы можете изменить это имя папки с настройкой STATIC_PRECOMPILER_OUTPUT_DIR.См. документацию для получения более подробной информации.

Я лично не пробовал, но я знаю, что django-compress также поддерживает меньше.

14 голосов
/ 14 марта 2014

Выбранный ответ устарел: django-less больше не поддерживается (как указано на на его странице pypi ), и разработчик предлагает использовать django-static-precompiler вместо.

...