Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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
Python 从AngularJS指令中的templateURL加载html(在django应用程序中)_Python_Django_Angularjs_Angularjs Directive - Fatal编程技术网

Python 从AngularJS指令中的templateURL加载html(在django应用程序中)

Python 从AngularJS指令中的templateURL加载html(在django应用程序中),python,django,angularjs,angularjs-directive,Python,Django,Angularjs,Angularjs Directive,在django上构建的应用程序中,如何从AngularJS指令中的templateURL加载html。 每当我在templateURL变量中给出一些URL时,它就会到达django服务器。我如何实现这一点?我是否可以在指令中的templateURL变量中提供django URL,并在django中呈现HTML?这样做的正确方式是什么 我的指示: app.directive('test', function() { return{ restrict: 'E', templateUrl

在django上构建的应用程序中,如何从AngularJS指令中的
templateURL
加载html。 每当我在
templateURL
变量中给出一些URL时,它就会到达django服务器。我如何实现这一点?我是否可以在指令中的
templateURL
变量中提供django URL,并在django中呈现HTML?这样做的正确方式是什么

我的指示:

app.directive('test', function()
{
  return{

  restrict: 'E',
  templateUrl: 'test.html'

}});
(function () {
'use strict';
angular

    .module('site.project.app')
    .directive('myDirective', [myDirective])
;
function myDirective() {

    return {
        restrict: 'E',
        replace: true,
        controller: 'MyCtrl',
        templateUrl: 'partials/my-directive.html',
        link: function (scope, elem, attrs) {
        }

   }
}
})();
它通过
someURL/test.html
到达django服务器并返回404

我可以用这种方式实现吗

app.directive('test', function()
{
  return{
  restrict: 'E',
  templateUrl: 'app/test'

}});
在django
url.py中

url(r'^test/$', TemplateView.as_view(template_name='test.html'))
这是一个很好的方法吗?正确的方法是什么?

做一件事:

为您的项目创建一个静态文件夹

将静态文件夹添加到URL.py

然后在指令中给出url,如下所示:

templateUrl: 'static/test.html'
视情况而定

如果
test.html
是Django模板,需要在将其发送到Angular之前进行渲染,那么这是一种很好的方法


否则——我建议这样做——将角度模板放在静态文件夹的子目录中,并通过静态URL引用它们。然后它们将通过与Angular脚本本身完全相同的机制提供。

Angular完全在前端运行,这意味着您看到的任何URL都将被调用和处理,就像在浏览器中键入URL一样。考虑到这一点,您需要在django项目中定义URL,并确保它以您希望看到的指令响应


简言之,是的,你可以按照你的建议去做:定义URL,确保它在浏览器中响应,处理双花括号,因为它会与django的模板语法冲突-为此使用
templatetag
,差不多就是这样。

很抱歉,necro没有人提及

这彻底解决了我们的问题:

<base href="{% static 'js/vendor/myapp/app/' %}" />
<script src="js/Module.js"></script>