django-javascript-settings is a Django application that provides a way of passing settings for Django applications to JavaScript.
Project description
javascript-settings is a Django application that provides a way of passing values backend from Django applications to JavaScript in templates.
Installation
Package
javascript-settings can be installed as a normal Python package.
Example instalation for pip:
$ pip install django-javascript-settings
Example instalation from file:
$ pip install django-javascript-settings-1.1.tar.gz
Configuration
settings.py
Add javascript-settings to INSTALLED_APPS:
INSTALLED_APPS = ( ... 'javascript_settings', ... )
Add javascript-settings.finders to STATICFILES_FINDERS:
STATICFILES_FINDERS = ( ... 'javascript_settings.finders.JavascriptSettingsFinder', ... )
template
You can use one of following ways to pass gathered data to template:
Option 1: Import
Add javascript-settings.js to script imports:
<script type="text/javascript" src="{{ STATIC_URL }}javascript-settings.js"></script>
Option 2: Template tag
Add javascript-settings tag to your main template:
{% load javascript_settings_tags %} <script type="text/javascript">{% javascript_settings %}</script>
Usage
Configuration is defined by adding javascript_settings function to urls.py of app. javascript_settings should take no arguments and return json-serializable object. Serialized object is then avaliable in Javascript as configuration['app_name'].
If you want to place javascript_settings in different location, then you can define JAVASCRIPT_SETTINGS_SCAN_MODULES as a dictionary of 'app_name': 'module_location'.
Example
Template:
<script type="text/javascript" src="{{ STATIC_URL }}javascript-settings.js"></script>
urls.py in an app “home”:
def javascript_settings(): return { 'page_title': 'Home', 'page_version': '1.9.20', 'css': { 'white': './css/white.css', 'black': './css/black.css', 'print': './css/print.css', }, 'default_css': 'white', }
Result in file javascript-settings.js:
var configuration = {'home': {'page_title': 'Home', 'page_version': '1.9.20', 'css': {'white': './css/white.css', 'black': './css/black.css', 'print': './css/print.css'}, 'default_css': 'white'}};
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-javascript-settings-1.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 909c5d3a534960603a319aa697e7d19ffeee16fa957e5cf68387d7065f3563f0 |
|
MD5 | c2d464a348f9866029a22bbe71819cdc |
|
BLAKE2b-256 | 3b9138c2805c07efc26c4edc3d8c9faff31cb83323c38f74b4656737ae5b011b |