AngularJS:ng重复不显示数据(混合Django和Angular模板表达式)

AngularJS:ng重复不显示数据(混合Django和Angular模板表达式),angularjs,django,Angularjs,Django,index.html: {% load staticfiles %} <html ng-app = "myModule"> <head> <script src = '{% static "scripts/angular.js" %}'> </script> <script src = '{% static "scripts/application.js" %}'> </script>

index.html:

{% load staticfiles %}

<html ng-app = "myModule">
    <head>
        <script src = '{% static "scripts/angular.js" %}'> </script>
        <script src = '{% static "scripts/application.js" %}'> </script>
    </head>
    <body ng-controller = "myController">
    Table: Message: {{ message }}
    <table>
        <tr ng-repeat = "t in technologies track by $index">
            <td> {{ t.name }} </td>
        </tr>
    </table>
    </body>
</html>
当我打开index.html时,没有显示来自模型的数据。我错过了什么明显的东西吗

我只是在这里显示html和控制器文件。但是代码是Django项目的一部分。

问题是您混合了Django模板和角度模板。这意味着如果你写:

{{ t.name }}
这首先由Django模板呈现进行解释。如果存在这样的
t
(具有
名称
属性或元素),则它会呈现内容。如果没有,它将用一个空字符串(或您配置的另一个错误字符串)替换它。不管被什么替换,
{{t.name}
本身都不存在了

因此,“Angular template”(呈现Django模板的最终产品)从未看到此标记。但是,有一些机制可以防止Django解释
{{}
部分(以及其他模板标记)

您可以使用在某些特定部分禁用django模板引擎。所以通过这样写:

{% load staticfiles %}

<html ng-app = "myModule">
    <head>
        <script src = '{% static "scripts/angular.js" %}'> </script>
        <script src = '{% static "scripts/application.js" %}'> </script>
    </head>
    <body ng-controller = "myController">
    Table: Message: {% verbatim %}{{ message }}{% endverbatim %}
    <table>
        <tr ng-repeat = "t in technologies track by $index">
            <td> {% verbatim %}{{ t.name }}{% endverbatim %} </td>
        </tr>
    </table>
    </body>
</html>
{%load staticfiles%}
表:消息:{%verbatim%}{{Message}{%endverbatim%}
{%verbatim%}{t.name}{%endverbatim%}
因此现在,
{{t.name}}
将不会被Django模板引擎计算,它只是将
{{t.name}}
呈现为输出。然后,这可以由“角度模板引擎”解释,并由列表中的值替换


这个主题有一节。

你把Django和angular混为一谈了。Django解释了
{{t.name}
,因为它可能找不到任何
t
,所以它是空的。所以angular从未看到
{{t.name}
标记。
{% load staticfiles %}

<html ng-app = "myModule">
    <head>
        <script src = '{% static "scripts/angular.js" %}'> </script>
        <script src = '{% static "scripts/application.js" %}'> </script>
    </head>
    <body ng-controller = "myController">
    Table: Message: {% verbatim %}{{ message }}{% endverbatim %}
    <table>
        <tr ng-repeat = "t in technologies track by $index">
            <td> {% verbatim %}{{ t.name }}{% endverbatim %} </td>
        </tr>
    </table>
    </body>
</html>