组合ng repeat和Django模板语言

2024-09-27 21:34:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个表,随着时间的推移会有不同的列,我希望我的django视图支持那些不断变化的列。我还想用ngrepeat来做一些有趣的事情,比如过滤和其他事情。但是我很难把两者结合起来。在

我用django模板语言传递任意的col_namespackages也是用django模板语言发送的,它本质上是一个json数组,其中每一行都是一个dict映射{}到某个值。i、 e

$scope.packages = [{'col1': 'row1col1', 'col2': 'row2val2'}, {'col1': 'row2col1' .... 

但是,当我使用packages放入行时,我不能“嵌套”我的模板。有没有办法从packages的每一行获取任意值?在

^{pr2}$

在那个问题行中,我本质上想要{{package.ACTUAL_ARBITRARY_COL_NAME}},但我不知道如何通过编程实现


Tags: django视图模板语言jsonnamespackages时间
1条回答
网友
1楼 · 发布于 2024-09-27 21:34:46

问题

默认情况下,Django和AngularJS使用相同的标记{{和{}作为模板。在

所以这首先由Django模板处理

{% for col_name in columns %}
    <td>{{package.{{ col_name }}}}</td>  DOESN'T WORK!
        ^                        ^
        |________________________| 
         Django template will try to process this value

因为Django试图扩展第一个{{...}}中的内容,所以您将无法获得您希望AngularJS看到的内容。在

If you want to continue down that road, I suggest you read some solutions to this problem here

更好的解决方案

一个更好的方法是给AngularJS提供您希望Django为您循环的项。在

^{pr2}$

Then use AngularJS to do all the loops。不管你用哪种方法,如果你需要用AngularJS来完成,最好全部用AngularJS完成,而不是一半Django半AngularJS。在

相关问题 更多 >

    热门问题