django的模板标签和angularjs

时间:2015-08-06 08:04:00

标签: angularjs django

我有一个小谜题,我在Django的模板中有以下代码行:

{% if x == y %} sth {% endif %}

其中“x”变量属于Django而“y”是angularjs变量。我已经知道可以将$ interpolateProvider更改为{$ $}或者其他,但在这种情况下,这不是一个选项,因为代码应该看起来像:

{% if x == {$ y $} %} sth {% endif %}

那当然会导致错误。如何解决该问题,即在模板标签内使用angularjs变量?

我很感激提示,

祝福,

nykon

2 个答案:

答案 0 :(得分:1)

老实说,我认为最好的解决方案不是将Django模板语言与angular混合使用。如果你真的需要依赖一个django提供的变量,那么你应该将它传递给模板,将它存储在一个JS变量中,例如:

var myVariable = {{ django_provided_var }};

<script>标记内,然后使用angular来执行显示逻辑。

答案 1 :(得分:0)

我不确定这个解决方案是否适合您,但我曾经使用过的一个选项是JavaScript,我通过了Django&amp; amp; AngularJS到JavaScript并在那里执行条件和操作。

类似的东西:

<script>
var angular_variable = {$ y $}
var django_variable = {{x}}
// Depending on your example you may need to enclose the variables with ' '
var angular_variable = '{$ y $}'
var django_variable = '{{x}}'

if (anguar_variable == django_variable){
   // Do whatever you need to do
}

</script>