2

我正在尝试使用Django-AngulardjangoRMIProvider让我位于 django 之上的 Angular 应用程序可以访问一些 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_appdjango_angular(我不得不将 Django-Angular 应用程序重命名为djangulardjango_angular因为有另一个包 Djangular,其应用程序名称djangular- 尝试说快十倍)都在“INSTALLED_APPS”中。

我什至使用这个肮脏的技巧来强制标签进入内置函数,但要么我做错了,要么它不起作用(我确实收到错误说它正在寻找django.templatetags.my_app.templatetags.djangular_tags,这是不对的,或者其他错误,如果我把除了my_app.templatetags.djangular_tags那个函数调用之外的任何东西)

4

1 回答 1

3

函数声明在{}django 查找要注入的标签时会混淆。通过将其移到函数声明之外,它应该可以正常工作。

{% load djangular_tags %}
…
<script type="text/javascript">
    var tags = {% djng_current_rmi %} 
    my_app.config(function(djangoRMIProvider) {
        djangoRMIProvider
            .configure(
                 tags
             );
    });
</script>
于 2015-05-15T09:49:06.630 回答