-
Adam Chainz authored
As per [their blog post of the 27th April](https://blog.readthedocs.com/securing-subdomains/) ‘Securing subdomains’: > Starting today, Read the Docs will start hosting projects from subdomains on the domain readthedocs.io, instead of on readthedocs.org. This change addresses some security concerns around site cookies while hosting user generated data on the same domain as our dashboard. Test Plan: Manually visited all the links I’ve modified.
Adam Chainz authoredAs per [their blog post of the 27th April](https://blog.readthedocs.com/securing-subdomains/) ‘Securing subdomains’: > Starting today, Read the Docs will start hosting projects from subdomains on the domain readthedocs.io, instead of on readthedocs.org. This change addresses some security concerns around site cookies while hosting user generated data on the same domain as our dashboard. Test Plan: Manually visited all the links I’ve modified.
Django-bower




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+