一个django应用程序,它提供了帮助程序,用于将javascript目录生成为静态文件。
django-statici18n的Python项目详细描述
一个django应用程序,它提供了将javascript目录生成为static的助手 文件夹。
概述
在javascript代码中处理国际化时,django提供 发送javascript代码库的JSONCatalog view 模拟getText接口的函数,外加一个翻译数组 串。
乍一看,它工作得很好,一切都很好。但是,因为 JSONCatalog view正在每个 请求,adding an overhead可能是站点增长的问题。
这就是django-statici18n的用途:
Collecting JavaScript catalogs from each of your Django apps (and any other place you specify) into a single location that can easily be served in production.
django-statici18n的主网站是 github.com/zyegfryed/django-statici18n您还可以在其中提交票据。
支持的django版本
django-statici18n适用于所有官方支持的django版本 Django项目。在撰写本文时,这些是1.8(lts), 1.9、1.10、1.11(LTS)、2.0和2.1系列。
安装
使用您喜爱的python打包工具安装django-statici18n 来自PyPI,例如:
pip install django-statici18n
将'statici18n'添加到INSTALLED_APPS设置:
INSTALLED_APPS = [ # ... 'statici18n', ]
一旦有了translated和compiled消息,就可以使用 compilejsi18n管理命令:
python manage.py compilejsi18n
将django.core.context_processors.i18n上下文处理器添加到 context_processors节,用于TEMPLATES设置中的后端 -它应该已经由django设置:
TEMPLATES = [ { # ... 'OPTIONS': { 'context_processors': { # ... 'django.template.context_processors.i18n', }, }, }, ]
编辑模板并将dynamically generated script替换为 静态生成一个:
<scriptsrc="{{STATIC_URL}}jsi18n/{{LANGUAGE_CODE}}/djangojs.js"></script>
注意
默认情况下,生成的目录存储到STATIC_ROOT/jsi18n。 可以通过调整来修改输出路径和更多选项 django-statici18n设置。
(可选)
以下步骤假设您正在使用django.contrib.staticfiles。
- 编辑模板并使用提供的模板标记:
{%loadstatici18n%}<scriptsrc="{%statici18nLANGUAGE_CODE%}"></script>
- 或者直接将javascript内联到模板中:
{%loadstatici18n%}<script>{%inlinei18nLANGUAGE_CODE%}</script>