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

в 16:26, , рубрики: bower, django, javascript, python, метки: , , ,

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

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

Автор: nvbn

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js