如何访问Django模板中的动态键?

Fai*_*Ali 3 django django-templates

请看下面的代码:

{% for row in df_src.iterrows %}
   <tr >
    <td><input type="checkbox"></td>                              
    {% for col in columns %}
      <td  class="redrow">{{row.1.col}}</td>                                  
    {% endfor %}                                                               
   </tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

这里的{{row.1.col}}wherecol可以是任何值NAME,如PHONE、 等。当我访问它时,就像{{row.1.PHONE}}我在 html 中获取值一样,但是当我访问它时,就像{{row.1.col}}html 中没有显示任何内容。

Ral*_*alf 6

你不能以这种方式访问​​它,djangos 模板语言不允许这样做。请参阅@BearBrown 在他的评论中提到的这篇文章。

您可以编写自己的自定义模板过滤器, 如下答案所示:

from django.template.defaulttags import register
...
@register.filter
def get_item(dictionary, key):
    return dictionary.get(key)
Run Code Online (Sandbox Code Playgroud)