django javascript settings是一个django应用程序,它提供了一种将django应用程序的设置传递给javascript的方法。
django-javascript-settings的Python项目详细描述
javascript设置是一个django应用程序,它提供 一种从django应用程序后端传递值的方法 模板中的javascript。
安装
包
javascript设置可以作为普通的python包安装。
PIP安装示例:
$ pip install django-javascript-settings
文件安装示例:
$ pip install django-javascript-settings-1.1.tar.gz
配置
设置.py
向已安装的应用程序添加javascript设置:
INSTALLED_APPS = ( ... 'javascript_settings', ... )
将javascript-settings.finders添加到静态文件查找程序:
STATICFILES_FINDERS = ( ... 'javascript_settings.finders.JavascriptSettingsFinder', ... )
模板
您可以使用以下方法之一将收集的数据传递到模板:
选项1:导入
将javascript-settings.js添加到脚本导入:
<script type="text/javascript" src="{{ STATIC_URL }}javascript-settings.js"></script>
选项2:模板标记
将javascript设置标记添加到主模板:
{% load javascript_settings_tags %} <script type="text/javascript">{% javascript_settings %}</script>
用法
配置是通过将javascript_settings函数添加到app的url.py来定义的。 javascript_settings不应接受参数并返回json可序列化对象。 序列化对象在javascript中可用作configuration['app_name']。
如果要将javascript_settings放置在不同的位置,则可以 将JAVASCRIPT_SETTINGS_SCAN_MODULES定义为'app_name': 'module_location'的字典。
示例
模板:
<script type="text/javascript" src="{{ STATIC_URL }}javascript-settings.js"></script>
应用程序“home”中的url.py:
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', }
生成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'}};