Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Django与简单的AngularJ玩得不好,不知道为什么_Javascript_Python_Django_Angularjs - Fatal编程技术网

Javascript Django与简单的AngularJ玩得不好,不知道为什么

Javascript Django与简单的AngularJ玩得不好,不知道为什么,javascript,python,django,angularjs,Javascript,Python,Django,Angularjs,这是我简单的角度应用程序。当我通过浏览器自己运行html文件时,变量名显示为“nothing”。然而,当我通过创建一个只调用模板的虚拟视图(参见下面的视图)将其集成到django中时,并没有显示变量名。唯一不同的是使用django时,我通过{%static%}加载JS文件。除了django版本没有输出变量名之外,这两个版本的html输出完全相同。我已经把问题分解成最简单的形式,似乎无法理解这里发生了什么 JS文件在django版本中100%加载。Chrome控制台没有显示错误。我最初在angul

这是我简单的角度应用程序。当我通过浏览器自己运行html文件时,变量名显示为“nothing”。然而,当我通过创建一个只调用模板的虚拟视图(参见下面的视图)将其集成到django中时,并没有显示变量名。唯一不同的是使用django时,我通过{%static%}加载JS文件。除了django版本没有输出变量名之外,这两个版本的html输出完全相同。我已经把问题分解成最简单的形式,似乎无法理解这里发生了什么

JS文件在django版本中100%加载。Chrome控制台没有显示错误。我最初在angular中开发了一个简单的应用程序,以便与我的django应用程序集成,但如果这个简单的问题阻碍了我,我将无能为力

views.py

def home_tester(request):
    return render(request, 'angular/base.html')
HTML

gridfilter.js

app.controller("GridFilter", function($scope){
    $scope.name = 'nothing';
});

您需要添加
{%verbatim%}
{%endverbatim%}
标记

django和angular使用相同的
{{
}
标记。 通过使用
{%verbatim%}
提示django,他将忽略
{{
}
。这将允许您将angular模板与django模板相结合

例如:

<!DOCTYPE html>
<html ng-app="ZeTasty">
<head>
    <meta charset="UTF-8">
    <title>Learning AngularJS</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.js" type="text/javascript"></script>
    <script src="app.js" type="text/javascript"></script>
    <script src="gridfilter.js" type="text/javascript"></script>
</head>

<body>


<!-- 'verbatim' is required in order to disable Django's template engine
so we could use Angular's syntax -->

{%verbatim%}
    <div id="content" ng-controller="GridFilter">
        {{name}}
    </div>

{%endverbatim%}

</body>
</html>

学习英语
{%verbatim%}
{{name}}
{%endverbatim%}

老兄,我爱你!!你不知道我花了多长时间才弄明白。我不知道我怎么会在任何地方都没有遇到这样的事情。即使在django也不行。我只是假设,因为我没有向模板发送任何上下文,所以它只会使用js的东西。显然情况并非如此。再次感谢!!
app.controller("GridFilter", function($scope){
    $scope.name = 'nothing';
});
<!DOCTYPE html>
<html ng-app="ZeTasty">
<head>
    <meta charset="UTF-8">
    <title>Learning AngularJS</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.js" type="text/javascript"></script>
    <script src="app.js" type="text/javascript"></script>
    <script src="gridfilter.js" type="text/javascript"></script>
</head>

<body>


<!-- 'verbatim' is required in order to disable Django's template engine
so we could use Angular's syntax -->

{%verbatim%}
    <div id="content" ng-controller="GridFilter">
        {{name}}
    </div>

{%endverbatim%}

</body>
</html>