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

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

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

Многим уже надоело лазить по куче сайтов и скачивать 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/