在Django TemplateResponse()中提供角度范围

时间:2015-05-29 05:09:28

标签: javascript python angularjs django

我使用Python/Django作为框架的后端,使用angular作为前端。在某些时候,我在视图函数中使用TemplateResponse()来获取模板响应,此模板包含HTML/CSS/JS/Angular代码。 TemplateResponse()可以编译所有其他代码但不是角度因为角度范围不可用。

以下是示例代码:

Django代码

 t = TemplateResponse(request,
                             'dynamic-content.html',
                            {'raw_html':raw_html,
                            'raw_css':raw_css,
                            'raw_js':raw_js,
                            'js_script':js_script,
                            'css_script':css_script,})
t.render()

现在我将t.content发送到包含模板响应的角度。 在角度I使用指令使角度范围在上面的模板响应中可用。

<div dynamic="t.content"></div>

指令:

app.directive('dynamic', function ($compile) {
  return {
    restrict: 'A',
    replace: true,
    link: function (scope, ele, attrs) {
      scope.$watch(attrs.dynamic, function(html) {
        ele.html(html);
        $compile(ele.contents())(scope);
      });
    }
  };
});

但是为模板响应提供角度范围的时间b / w需要时间。 另一个问题是js在角度范围可用之前编译。

因此,要么我必须在模板中提供angular范围,要么停止js以在角度之前进行编译。 我应该采取什么方法。请帮忙。

0 个答案:

没有答案