javascript - AngularJS 与 Django - 模板标签冲突

标签 javascript django django-templates angularjs

我想在 Django 中使用 AngularJS,但是它们都使用 {{ }} 作为模板标签。有没有一种简单的方法可以将两者之一更改为使用其他自定义模板标签?

最佳答案

对于 Angular 1.0,您应该使用 $interpolateProvider api 来配置插值符号:http://docs.angularjs.org/api/ng.$interpolateProvider .

这样的事情应该可以解决问题:

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

记住两点:

  • 混合使用服务器端和客户端模板很少是一个好主意,应谨慎使用。主要问题是:可维护性(难以阅读)和安全性(双插值可能会暴露一个新的安全向量 - 例如,虽然服务器端和客户端模板本身的转义可能是安全的,但它们的组合可能不安全)。
  • 如果您开始使用在其模板中使用 {{ }} 的第三方指令(组件),那么您的配置将破坏它们。 ( fix pending )

虽然对于第一个问题我们无能为力,除了警告人们,我们确实需要解决第二个问题。

关于javascript - AngularJS 与 Django - 模板标签冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8302928/

相关文章:

javascript - 我如何将变量的值从 Django 模板传递到客户端 JavaScript?

javascript - 如何在不使用ID的情况下查找元素

javascript - 花式树复选框

javascript - 如何将两个函数传递给 react 中的onClick事件

python - 这个 url 在 django 中意味着什么

python - 自定义权限返回始终为 true,django

django - 在 Django 中,两个不同应用程序的模型可以相互依赖吗?

javascript - 如何将 sass 文件导入 React 中的单个组件

html - 将 nobr html 标签应用于 Django 表单字段

javascript - 模板上的 Django 日期到 javascript