2

プロファイル テンプレートにすべてのユーザー値を出力したいと考えています。手動で印刷すると動作します: `

<table class="table table-striped table-bordered"> 
    <tr><th>{{ user.username }}</th></tr>
    <tr><th>{{ user.first_name }}</th></tr>
    <tr><th>{{ user.last_name }}</th></tr>
    <tr><th>{{ user.email }}</th></tr>
</table>`

しかし、そのようなアプローチは機能しません: `

<table class="table table-striped table-bordered">
    {% for field in user.fields %}
        <tr>
            <td>{{ field.name }}</td>
            <td>{{ field.value }}</td>
        </tr>
    {% endfor %}
</table>

私はこのアプローチを使用しようとしていました テンプレートのモデルインスタンスのフィールド名と値を繰り返します

ヒントはありますか?

4

2 に答える 2

2

モデル インスタンスで使用できるフィールドと呼ばれる属性はありません。

あなたが本当にこのようなものが欲しいなら:

ビュー.py:

d = {}

for each in u._meta.fields:
    d[each.name] = getattr(u, each.name)

テンプレート:

{% for k,v in d.items %}
    {{k}}
    {{v}}
{% endfor %}
于 2013-04-23T16:42:51.000 に答える