- PVSM.RU - https://www.pvsm.ru -

Многим уже надоело лазить по куче сайтов и скачивать js библиотеки и плагины. Да и таскать когда-то скачанные, но уже давно протухшие версии не очень круто. Эти проблемы решает bower [1].
Но с ним тоже многое нужно делать вручную: следить за components каждого проекта, руками дёргать bower install. После pip с requirements.txt это делать даже как-то лень.
Поэтому представляю вам django-bower [2], который берёт на себя установку и обновление bower пакетов по списку из settings и прозрачную работу с staticfiles.
Для начала у вас должен быть установлен bower, инструкция есть на официальном сайте [1].
Вам нужно поставить пакет django-bower из pypi:
pip install django-bower
Добавить приложение в INSTALLED_APPS в settings:
'djangobower',
Подключить его в STATICFILES_FINDERS:
'djangobower.finders.BowerFinder',
И прописать путь до components — место, где хранятся установленные пакеты. Путь должен быть абсолютным и существовать:
BOWER_COMPONENTS_ROOT = '/PROJECT_ROOT/components/'
Вы можете посмотреть пример настроек в demo проекте [3].
Для использования пакетов пропишите их в 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
Автор: nvbn
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/36392
Ссылки в тексте:
[1] bower: http://bower.io/
[2] django-bower: https://github.com/nvbn/django-bower
[3] demo проекте: https://github.com/nvbn/django-bower/blob/master/example/example/settings.py
[4] Источник: http://habrahabr.ru/post/183094/
Нажмите здесь для печати.