Skip to main content

Django Ember

Django Ember help integrates Ember.js in Django. It use Django.js as base and is inspired from:

Compatibility

Django Ember requires Python 2.6+, Django 1.4.2+ and Django.js 0.7.6+.

Installation

You can install Django Ember with pip:

pip install django-ember

or with easy_install:

easy_install django-ember

Add djangojs and ember to your settings.INSTALLED_APPS.

Django Ember depends on Django.js. It will be installed by pip/easy_install. If you want to use Django.js feature, add djangojs to your settings.INSTALLED_APPS.

Template tags

Loading template tags

You can either:

  • load the template tag lib into each template manually:

{% load ember %}
  • load the template tag lib by adding to your views.py:

from django.template import add_to_builtins

add_to_builtins('ember.templatetags.ember')

JS Libraries templates tags

Tag

JS Library

{% 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 (optionnal)

{% emberpie_js %}

Ember.js + Handlebars.js + jQuery (optionnal) + Ember Data + Tastypie Adapter

Exemple:

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

Will render into insert the follwing JS lib script tags:

  • Ember.js

  • Handlebars.js

  • jQuery

jQuery loading is optionnal for {% ember_full_js %} and {% emberpie_js %} tags. Simply set jquery keyword to false:

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

If settings.DEBUG=True the unminified versions of library is loaded instead of the minified versions if settings.DEBUG=False.

JS Template helpers

Django Ember the {% handlebars %} allow to easily write handlebars template for Ember.js. Call the template tag, and write your Handlebars template:

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

The following block will be rendered in your page:

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

There is a linkTo helper:

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

The following block will be rendered in your page:

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

When using verbatim style tags sometimes it is hard to spot what is Ember and what is Django; the purpose of this generic ember tag is making it easier.

Usage:

{% 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 %}

This will render as:

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

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

LICENSE

  • Lesser GNU Public License

  • Handlebars.js is released under the MIT license - Copyright 2011 Yehuda Katz

Changelog

0.3.1 (2013-07-30)

  • Upgraded to Ember.js 1.0.0-RC.6.1

  • Upgraded to Ember Data 0.13-78-g9602df4

  • Downgraded to Handlebars to ensure compatibility until release

0.3.0 (2013-06-07)

  • Added template tag helpers linkTo and ember (thanks to Paulo Scardine)

  • Upgraded to Ember.js 1.0.0-RC.5

  • Upgraded to Ember Data 0.13

  • Upgraded to latest Ember Data Tastypie Adapter (9db4b9a)

  • Upgraded to Handlebars 1.0.0

  • Python 2.6 support

0.2.0 (2013-05-09)

  • Depends on and extend django.js

  • Upgraded to Handlebars 1.0.0.rc.3

  • Upgraded to Ember.js 1.0.0-RC.3-279-g41b62d7

  • Upgraded to latest Ember Data git version (e33b544)

  • Make jquery optionnal for {% ember_full_js %} and {% emberpie_js %}

  • Support query string in TastypieAdapater (thanks to Peter Sutton/dj-foxxy)

  • Provide both minified and unminified versions (triggered by settings.DEBUG)

  • Python 3 compatible

  • Django 1.5 compatible

0.1 (2012-08-06)

  • Initial release

Release files for django-ember 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-ember 0.3.1
File Size Uploaded
django-ember-0.3.1.tar.gz 389.4 kB Details

Release files / django-ember-0.3.1.tar.gz

Download URL django-ember-0.3.1.tar.gz
Size 389.4 kB
Tags Source
SHA-256 checksum
How to use checksums
726cb665e28f171d9a1e72fbdf1c1095be7d42c433668b51e1d5778ceb0708b3
BLAKE2b-256 checksum
How to use checksums
932c98455dcfae62ca740a6538707a91f92634f63d23d356fa6cbc7cd6ed4476
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3.1 This release

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.2.dev

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page