在django模板中迭代用户
我想打印配置文件模板中的所有用户值。 手动打印它可以工作: `在django模板中迭代用户,django,Django,我想打印配置文件模板中的所有用户值。 手动打印它可以工作: ` {{user.username} {{user.first_name} {{user.last_name} {{user.email} ` 但这种方法不起作用: ` {user.fields%中的字段为%s} {{field.name} {{field.value}} {%endfor%} 我试图使用这种方法 有什么提示吗?您必须确保通过views.py文件(不是user.username或user.first_name等)
{{user.username}
{{user.first_name}
{{user.last_name}
{{user.email}
`
但这种方法不起作用:
`
{user.fields%中的字段为%s}
{{field.name}
{{field.value}}
{%endfor%}
我试图使用这种方法
有什么提示吗?您必须确保通过views.py文件(不是user.username或user.first_name等)发送“user”对象本身。这样,您就可以在模板中编写:
<table class="table table-striped table-bordered">
{% for field in user %}
<tr>
<td>{{ field.name }}</td>
<td>{{ field.value }}</td>
</tr>
{% empty %}
<tr>
<td>No "user" field</td>
</tr>
{% endfor %}
</table>
{用户%中的字段的%s}
{{field.name}
{{field.value}}
{%empty%}
没有“用户”字段
{%endfor%}
请注意第二行(“for field in user”)中的更改。模型实例上没有名为fields的属性可用 如果你真的想要这样的东西: views.py:
d = {}
for each in u._meta.fields:
d[each.name] = getattr(u, each.name)
模板:
<table class="table table-striped table-bordered">
{% for field in user %}
<tr>
<td>{{ field.name }}</td>
<td>{{ field.value }}</td>
</tr>
{% empty %}
<tr>
<td>No "user" field</td>
</tr>
{% endfor %}
</table>
{% for k,v in d.items %}
{{k}}
{{v}}
{% endfor %}
我想看起来好多了。
{% for k,v in d.items %}
{{k}}
{{v}}
{% endfor %}