我试图让 Ember & Handlebars 与 Django 1.4.2 一起工作,但没有取得多大成功。我正在使用 Django-ember(来自这里的最新版本):https ://github.com/noirbizarre/django-ember、Handlebars.js (1.0.rc.1) & Ember.js (1.0.0-pre.2 )。
按照 Django-ember 说明,我在设置中将“ember”添加到已安装的应用程序中,将 {% load ember %} 放在模板顶部,然后将其放在一个块中:
{% handlebars "application" %}
{{App.name}}
{% endhandlebars %}
我在 js 文件中用 name 变量声明了 App。
输出只是空白,但在浏览器控制台窗口 (Chrome) 中查看时没有插入任何脚本标记。
如果我完全删除了 javascript 包含,则会呈现脚本标记 - 只是“{{App.name}}”按预期保持不变。所以看起来,Ember/Handlebars 没有正确渲染模板。任何想法为什么?
一个可能相关的怪癖是,如果我尝试
{% tplhandlebars "tpl-infos" %}
{{total}} {% trans "result(s)." %}
<p>{% trans "Min" %}: {{min}}</p>
<p>{% trans "Max" %}: {{max}}</p>
{% endtplhandlebars %}
它会引发关于 {% trans 是无效标签的模板错误。这可以通过包含 {% load i18n %} 来解决,但鉴于这不在 Django-Ember 指令中,我倾向于认为这是一个更大问题的迹象;也许它不是为与 Django 1.4.2 一起工作而设计的。
更新 似乎它实际上是在渲染,但它将它包装在一个 div 中并将它放在我没有注意到它的页面底部。那么,现在的下一个问题是如何将其恢复到 html 中的原始点?