Как стать автором
Обновить

Используем bower в django проектах с django-bower

Время на прочтение 2 мин
Количество просмотров 15K


Многим уже надоело лазить по куче сайтов и скачивать js библиотеки и плагины. Да и таскать когда-то скачанные, но уже давно протухшие версии не очень круто. Эти проблемы решает bower.

Но с ним тоже многое нужно делать вручную: следить за components каждого проекта, руками дёргать bower install. После pip с requirements.txt это делать даже как-то лень.

Поэтому представляю вам django-bower, который берёт на себя установку и обновление bower пакетов по списку из settings и прозрачную работу с staticfiles.

Установка


Для начала у вас должен быть установлен bower, инструкция есть на официальном сайте.

Вам нужно поставить пакет django-bower из pypi:
pip install django-bower

Добавить приложение в INSTALLED_APPS в settings:
'djangobower',

Подключить его в STATICFILES_FINDERS:
'djangobower.finders.BowerFinder',

И прописать путь до components — место, где хранятся установленные пакеты. Путь должен быть абсолютным и существовать:
BOWER_COMPONENTS_ROOT = '/PROJECT_ROOT/components/'

Вы можете посмотреть пример настроек в demo проекте.

Использование


Для использования пакетов пропишите их в BOWER_INSTALLED_APPS в settings, например:
BOWER_INSTALLED_APPS = (
    'jquery#2',
    'underscore',
)

И установите их с менедж командой bower_install, впоследствии можно использовать её для обновления пакетов:
./manage.py bower_install

Теперь можно подключить скрипт в шаблоне:
{% load static %}
<script type="text/javascript" src='{% static 'jquery/jquery.js' %}'></script>

В продакшене bower_install нужно делать перед collectstatic:
./manage.py bower_install
./manage.py collectstatic

Для получения BOWER_INSTALLED_APPS с фиксированными версиями пакетов используйте bower_freeze:
./manage.py bower_freeze
Теги:
Хабы:
+25
Комментарии 18
Комментарии Комментарии 18

Публикации

Истории

Работа

Data Scientist
66 вакансий
React разработчик
65 вакансий
Python разработчик
136 вакансий

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн