我正在尝试使用Django-Angular的djangoRMIProvider来提供位于django顶部的角度应用程序访问某些django方法。
我复制的代码段(并自定义了my_app
名称),并添加了console.log
为:
{% load djangular_tags %}
…
<script type="text/javascript">
console.log("djangoRMIProvider: "+djangoRMIProvider);
my_app.config(function(djangoRMIProvider) {
djangoRMIProvider
.configure(
{% djng_current_rmi %} <!--errors here -->
);
});
</script>
事实证明,{% djng_current_rmi %}
和{% djng_all_rmi %}
都没有扩展到应有的范围。
我已经在复制Django-Angular文件djangular_tags.py
下了:
my_app
↳ templatetags
↳ djangular_tags.py
我确定my_app
和django_angular
(我必须将Django-Angular应用djangular
重命名为django_angular
,因为还有另一个包,Djangular,应用程序名称djangular
- 尝试说十次快速)在'INSTALLED_APPS'中。
我甚至使用this dirty hack强制标记进入内置函数,但要么我做错了,要么它不起作用(我确实收到错误,说它正在查看django.templatetags.my_app.templatetags.djangular_tags
,这是不正确,或其他错误,如果我在函数调用中放了my_app.templatetags.djangular_tags
之外的任何内容)
答案 0 :(得分:3)
函数声明的{}
在查找要注入的标记时会混淆django。通过将其移出函数声明,它应该可以正常工作。
{% load djangular_tags %}
…
<script type="text/javascript">
var tags = {% djng_current_rmi %}
my_app.config(function(djangoRMIProvider) {
djangoRMIProvider
.configure(
tags
);
});
</script>