1

小枝テンプレート内にダブルがあります:

<table>
   {% for user in users %}
      <tr>
         {% for field in fields %}
            <td>{{ user.{{field}}  }}</td>
         {% endfor %}   
      </tr>
   {% endfor %} 
</table>

これはできますか?{{ user.{{field}} }}の正しい構文は何ですか?

4

2 に答える 2

3

属性関数はこれを行い、変数の「動的」属性にアクセスするために使用できます。

<table>
   {% for user in users %}
      <tr>
         {% for field in fields %}
            <td>{{ attribute(user,field) }}</td>
         {% endfor %}   
      </tr>
   {% endfor %} 
</table>

したがって、正しい構文は{{ attribute(user,field) }}です。こちらのドキュメントをお読みください

于 2012-10-03T21:51:55.133 に答える
0

ユーザーがフィールドと 1 対多の関係を持ち (つまり、1 人のユーザーが複数のフィールドを持つことができる)、ORM マッピングとエンティティでそのように定義されている (つまり、UserエンティティにエンティティgetFields()のコレクションを返すメソッドがあるField) 場合、次に、これを行うことができます:

<table>
   {% for user in users %}
      <tr>
         {% for field in user.fields %}
            <td>{{ field }}</td>
         {% endfor %}   
      </tr>
   {% endfor %} 
</table>

しかし、そうでない場合は、 User とそのフィールドとの関係についてもう少し説明すると役立つ場合があります。

于 2012-10-03T21:36:54.843 に答える