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 javascript-settings
Example instalation from file:
$ pip install 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', ... )
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(): js_conf = { 'page_title': 'Home', 'page_version': '1.9.20', 'css': { 'white': './css/white.css', 'black': './css/black.css', 'print': './css/print.css', }, 'default_css': 'white', } return js_conf
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.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e6426c2895f8a808f689dbec0cf16f016d262e9f8e5f9a8313b59d0802064a6 |
|
MD5 | 08a131adfd0992655a3fa26b55c83222 |
|
BLAKE2b-256 | 4bcc2addbf3b0025e61258e28fdf377cccdccfce29bf5ce9b728155dd947bba1 |