Angular和django无法加载ng-bind

时间:2016-03-20 06:02:44

标签: javascript angularjs django

我有一个简单的角度文件由django 提供..我无法绑定角度 views.py

def home (request):
    return render(request,'index.html',{})

的index.html

{% load staticfiles %}
<!DOCTYPE html>
<html>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
    <body>

        <div ng-app="">

            <p>Input something in the input box:</p>
            <p>Name : <input type="text" ng-model="name" placeholder="Enter name here"></p>
            <h1>Hello {{name}}</h1>

        </div>

    </body>
</html>

虽然这很简单。我的ng-model="name"不会与Hello {{name}}

绑定

如果我将index.html单独加载为独立的html文件可以,但是不是使用django

对此有任何帮助,为什么会这样?

提前致谢

2 个答案:

答案 0 :(得分:2)

那是因为你的html文件在Django的范围内。要停用Django的html使用范围{% verbatim %}{% endverbatim %}

{% verbatim %}
    <p>Input something in the input box:</p>
    <p>Name : <input type="text" ng-model="name" placeholder="Enter name here"></p>
    <h1>Hello {{name}}</h1>
{% endverbatim %}

答案 1 :(得分:0)

只需强制角度使用不同的大括号来表示角度表达式。

.config(function ($interpolateProvider) {
    $interpolateProvider.startSymbol('{[');
    $interpolateProvider.endSymbol(']}');
});

你的html代码应该是,

<p>Input something in the input box:</p>
<p>Name : <input type="text" ng-model="name" placeholder="Enter name here"></p>
<h1>Hello {[name]}</h1>

如果你喜欢这样,你不需要一直添加逐字标记来停用django的范围。