Skip to content

nvbn/django-bower

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Sep 26, 2016
bbb9deb · Sep 26, 2016
Sep 26, 2016
Nov 11, 2014
Nov 18, 2014
Sep 1, 2013
Sep 9, 2013
Jun 11, 2013
Sep 18, 2016
Oct 1, 2013
Jun 15, 2016
Aug 31, 2013
Sep 9, 2013
Jun 26, 2013
Sep 26, 2016

Repository files navigation

Django-bower

Build Status Coverage Status https://pypip.in/v/django-bower/badge.png https://pypip.in/d/django-bower/badge.png

Easy way to use bower with your Django project.

Bower is a package manager for the web. It offers a generic, unopinionated solution to the problem of front-end package management, while exposing the package dependency model via an API that can be consumed by a more opinionated build stack. There are no system wide dependencies, no dependencies are shared between different apps, and the dependency tree is flat.

Read full documentation on read-the-docs.

Installation

Install django-bower package:

pip install django-bower

Add django-bower to INSTALLED_APPS in your settings:

'djangobower',

Add staticfinder to STATICFILES_FINDERS:

'djangobower.finders.BowerFinder',

Specify path to components root (you need to use an absolute path):

BOWER_COMPONENTS_ROOT = '/PROJECT_ROOT/components/'

If you need, you can manually set the path to bower:

BOWER_PATH = '/usr/bin/bower'

You can see an example settings file in example project.

Usage

Specify BOWER_INSTALLED_APPS in settings, like:

BOWER_INSTALLED_APPS = (
    'jquery#1.9',
    'underscore',
)

Download bower packages with the management command:

./manage.py bower install

Add scripts in the template, like:

{% load static %}
<script type="text/javascript" src='{% static 'jquery/dist/jquery.js' %}'></script>

In production you need to call bower install before collectstatic:

./manage.py bower install
./manage.py collectstatic

If you need to pass arguments to bower, like --allow-root, use:

./manage.py bower install -- --allow-root

You can use bower freeze to receive BOWER_INSTALLED_APPS with fixed current versions:

./manage.py bower freeze

You can call bower commands like info and update with:

./manage.py bower info backbone
./manage.py bower update

Python 3 support

django-bower supports python 3.3+