Skip to content

ArcaniteSolutions/django-bower

 
 

Repository files navigation

Django-bower

This is a fork of the original django-bower that seems not to be maintained. It is compatible with Django 4.1.

Build Status Coverage Status

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

(If you get an error like /usr/bin/env: node: No such file or directory it may be because it's nodejs on your system. In that case you can add a symbolic link via ln -s /usr/bin/nodejs /usr/bin/node)

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+

About

Easy way to use bower with your django project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.1%
  • HTML 1.9%