跳转到主要内容

Django Ember.js集成

项目描述

Django Ember

Django Ember帮助将Ember.js集成到Django中。它使用Django.js作为基础,并受到Miguel Araujo的原文片段的启发

兼容性

Django Ember需要Python 2.6+,Django 1.4.2+和Django.js 0.7.6+。

安装

您可以使用pip安装Django Ember

pip install django-ember

或使用easy_install

easy_install django-ember

djangojsember添加到您的settings.INSTALLED_APPS中。

Django Ember依赖于Django.js。它将由pip/easy_install安装。如果您想使用Django.js功能,请将djangojs添加到您的settings.INSTALLED_APPS中。

模板标签

加载模板标签

您可以选择

  • 手动将模板标签库加载到每个模板中

{% load ember %}
  • 通过将以下内容添加到您的views.py中,来加载模板标签库

from django.template import add_to_builtins

add_to_builtins('ember.templatetags.ember')

JS库模板标签

标签

JS库

{% handlebars_js %}

Handlebars.js (1.0.0-rc.4)

{% ember_js %}

Ember.js (1.0.0-RC.6.1)

{% ember_data_js %}

Ember Data (0.13-78-g9602df4)

{% tastypie_adapter_js %}

Ember Data Tastypie Adapter (9db4b9a)

{% ember_full_js %}

Ember.js + Handlebars.js + jQuery (可选)

{% emberpie_js %}

Ember.js + Handlebars.js + jQuery(可选)+ Ember Data + Tastypie 适配器

示例

<head>
{% ember_full_js %}
...
</head>

将插入以下 JS 库脚本标签

  • Ember.js

  • Handlebars.js

  • jQuery

对于 {% ember_full_js %}{% emberpie_js %} 标签,jQuery 加载是可选的。只需将 jquery 关键字设置为 false

{% ember_full_js jquery=false %}
{% emberpie_js jquery=false %}

如果 settings.DEBUG=True,则将加载未压缩版本的库,而不是压缩版本的库(如果 settings.DEBUG=False)。

JS 模板辅助函数

Django Ember 的 {% handlebars %} 允许轻松编写 Ember.js 的 Handlebars 模板。调用模板标签,并编写您的 Handlebars 模板

{% handlebars "tpl-infos" %}
    {{total}} {% trans "result(s)." %}
    <p>{% trans "Min" %}: {{min}}</p>
    <p>{% trans "Max" %}: {{max}}</p>
{% endhandlebars %}

以下块将在您的页面上渲染

<script type="text/x-handlebars" data-template-name="tpl-infos">
    {{total}} result(s).
    <p>Min: {{min}}</p>
    <p>Max: {{max}}</p>
<script>

有一个 linkTo 辅助函数

<li class="nav">{% linkto "about" %}About{% endlinkto %}</li>

以下块将在您的页面上渲染

<li class="nav">{{#linkTo "about"}}About{{/linkTo}}</li>

当使用 verbatim 风格的标签时,有时很难分辨出 Ember 和 Django;这种通用 ember 标签的目的是使其更容易。

用法

{% ember varname %}
{% ember #tagname arg1 "arg2" ... argn %} ... {% ember /tagname %}

{# example: #}
{% ember #if spam %}
     SPAM: {% ember spam %}
{% ember else %}
     No spam for you. Try with eggs.
{% ember /if %}

这将渲染为

{{varname}}
{{#tagname arg1 "arg2" ... argn}} ... {{/tagname}}

{{#if spam}}
     SPAM: {{spam}}
{{else}}
     No spam for you. Try with eggs.
{{/if}}

许可协议

  • GNU Lesser 公共许可证

  • Handlebars.js 在 MIT 许可下发布 - 版权所有 2011 Yehuda Katz

变更日志

0.3.1 (2013-07-30)

  • 升级到 Ember.js 1.0.0-RC.6.1

  • 升级到 Ember Data 0.13-78-g9602df4

  • 降级到 Handlebars 以确保兼容性直到发布

0.3.0 (2013-06-07)

  • 添加了模板标签辅助函数 linkToember(感谢 Paulo Scardine)

  • 升级到 Ember.js 1.0.0-RC.5

  • 升级到 Ember Data 0.13

  • 升级到最新的 Ember Data Tastypie 适配器(9db4b9a)

  • 升级到 Handlebars 1.0.0

  • Python 2.6 支持

0.2.0 (2013-05-09)

  • 依赖于并扩展 django.js

  • 升级到 Handlebars 1.0.0.rc.3

  • 升级到 Ember.js 1.0.0-RC.3-279-g41b62d7

  • 升级到最新的 Ember Data git 版本(e33b544)

  • 使 {% ember_full_js %}{% emberpie_js %} 可选地加载 jQuery

  • TastypieAdapater 中支持查询字符串(感谢 Peter Sutton/dj-foxxy)

  • 提供压缩和未压缩版本(由 settings.DEBUG 触发)

  • Python 3 兼容

  • Django 1.5 兼容

0.1 (2012-08-06)

  • 初始发布

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

django-ember-0.3.1.tar.gz (389.4 kB 查看哈希值)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面