django.js 工具
项目描述
Django.js 提供了用于 Django 中的 JavaScript 开发的工具。
Django.js 启发于
这是一个正在进行中的工作(API 在 1.0 之前将不会稳定),所以请不要期望它完美,但如果您发现任何错误或想要任何功能,请提交问题。
兼容性
Django.js 需要 Python 2.6+ 和 Django 1.4.2+。
安装
您可以使用 pip 安装 Django.js
$ pip install django.js
或使用 easy_install
$ easy_install django.js
将 djangojs 添加到您的 settings.INSTALLED_APPS 中。
将 djangojs.urls 添加到您的根 URL_CONF
urlpatterns = patterns('', ... url(r'^djangojs/', include('djangojs.urls')), ... )
文档
文档托管在 Read the Docs
变更日志
当前
尚无
0.8.1 (2013-10-19)
0.8.0 (2013-07-14)
- 允许使用以下方式禁用功能
settings.JS_URLS_ENABLED
settings.JS_USER_ENABLED
settings.JS_CONTEXT_ENABLED
添加上下文黑白名单(settings.JS_CONTEXT 和 settings.JS_CONTEXT_EXCLUDE)
允许通过继承 settings.JS_CONTEXT_PROCESSOR 来自定义上下文序列化
在解析 URL 时导入时不会失败(修复 问题 #7,感谢 Wasil Sergejczyk)
将星号非捕获组和星号字符视为可选(修复 问题 #22)
升级到 jQuery 2.0.3(并添加 1.10.2)
升级到 QUnit 1.12.0
添加 js 管理命令。
将 URL 处理和上下文处理提取到各自的模块中
第一个 contrib 模块:social_auth(感谢 Olivier Cortès)
0.7.6 (2013-06-07)
重新引入 Python 2.6 支持(感谢 Andy Freeland)
修复 问题 #20
0.7.5 (2013-06-01)
处理 Django 1.5+ 自定义用户模型
升级到 jQuery 2.0.2 和 jQuery Migrate 1.2.1
0.7.4 (2013-05-11)
在 StorageGlobber.glob() 中保留声明顺序(修复 问题 #17)
处理本地化的修复
0.7.3 (2013-04-30)
升级到 jQuery 2.0.0
包含压缩版和非压缩版。
当 DEBUG=False 时加载压缩版本(Django.js、jQuery 和 jQuery Migrate)
0.7.2 (2013-04-30)
修复 问题 #16
在 PyPI 上声明包为 Python 3 兼容
0.7.1 (2013-04-25)
可选地包含 jQuery 与 {% django_js_init %}。
0.7.0 (2013-04-25)
添加 RequireJS/AMD 辅助工具和文档
添加 Django Pipeline 集成辅助工具和文档
支持未命名的 URL 解析。
支持将自定义内容类型传递到 js/javascript 脚本标签(感谢 Travis Jensen)
添加 coffee 和 coffescript 模板标签
Python 3 兼容性
0.6.5 (2013-03-13)
使 JsonView 可重用
在 URL 中取消转义正则表达式字符
修复 JavaScript 反向 URL 参数 0 的处理
0.6.4 (2013-03-10)
支持未设置 app_name 的命名空间。
0.6.3 (2013-03-08)
修复 CSRF 误拼(感谢 Andy Freeland)
添加一些客户端 CSRF 辅助工具(感谢 Andy Freeland)
升级到 jQuery 1.9.1 和 jQuery Migrate 1.1.1
不要在 js、javascript 和 js_lib 模板标签中混淆 URL 参数。
0.6.2 (2013-02-18)
与 Django 1.5 兼容
0.6.1 (2013-02-11)
添加 static 方法(即使它是一个未使用的保留关键字)
0.6 (2013-02-09)
添加基本用户属性访问
添加权限支持
添加 booleans 上下文处理器
添加 jQuery 1.9.0 和 jQuery Migrate 1.0.0
将 QUnit 升级到 1.11.0
添加 QUnit 主题支持
允许指定 jQuery 版本(包含 1.8.3 和 1.9.0)
0.5 (2012-12-17)
添加命名空间 URL 支持
升级到 Jasmine 1.3.1
- 重构测试工具
将 test/js 重命名为 js/test 并重新组织测试资源
在 JsTestCase 上将 runner_url* 重命名为 url*
在 JsTestCase 上处理 url_args 和 url_kwargs
将 JasmineMixin 重命名为 JasmineSuite
将 QUnitMixin 重命名为 QUnitSuite
将运行器初始化提取到可包含的模板中
添加了 JsFileTestCase 以在没有实时服务的情况下运行静态HTML文件的测试
添加了 JsTemplateTestCase 以在没有实时服务的情况下运行渲染模板文件的测试
- 添加了一些设置以过滤作用域
序列化命名的URL白名单: settings.JS_URLS
序列化命名的URL黑名单: settings.JS_URLS_EXCLUDE
序列化命名空间白名单: settings.JS_URLS_NAMESPACES
序列化命名空间黑名单: settings.JS_URLS_NAMESPACES_EXCLUDE
序列化翻译白名单: settings.JS_I18N_APPS
序列化翻译黑名单: settings.JS_I18N_APPS_EXCLUDE
通过 PhantomJsRunner.timeout 属性暴露 PhantomJS 超时
0.4 (2012-12-04)
升级到 jQuery 1.8.3
升级到 Jasmine 1.3.0
同步URL和上下文获取。
使用 django.utils.termcolors
- 基于类的javascript测试工具
将 JsTestCase 的常见行为因式分解
移除了 JsTestCase.run_jasmine() 并添加了 JasmineMixin
移除了 JsTestCase.run_qunit() 并添加了 QUnitMixin
将 TapParser 提取到 djangojs.tap
只有一个 Django.js 测试套件
每个框架都使用自己的测试套件进行测试
将 JsTestCase 中的 jQuery 支持设置为可选
改进了 JsTestCase 输出
停止对 Python 2.6 的支持
添加了 API 文档
0.3.2 (2012-11-10)
可选支持 Django Absolute
0.3.1 (2012-11-03)
添加了 JsTestView.django_js 以可选包含 django.js
将 js_init 块添加到模板中的运行器
0.3 (2012-11-02)
改进了 ready 事件处理
从 urls.py 中移除了运行器
添加了文档
添加了 ContextJsonView 和从 json 中获取的 Django.context
改进了错误处理
添加了 DjangoJsError 自定义错误类型
0.2 (2012-10-23)
重构模板标签初始化
提供带有测试发现(globbing)的 Jasmine 和 QUnit 测试视图
提供 Jasmine 和 QUnit 测试用例
添加了 Django.file()
添加了 {% javascript %}、{% js %} 和 {% css %} 模板标签
0.1.3 (2012-10-02)
第一个公开版本
提供 django.js 的 url() 方法和常量
提供 {% verbatim %} 模板标签
修复 jQuery.ajax() 以处理 CSRF 令牌
加载支持它的所有应用中的 django javascript 目录
在页面中加载 django javascript i18n/l10n 工具