我试图创建一个基本模板来显示所选实例的字段值及其名称。将其视为该实例值的表格式标准输出,第一列中有字段名(如果在字段中指定了详细名称),第二列中有该字段的值
例如,假设我们有以下模型定义:
类客户端(模型):
name=CharField(最大长度=150)
email=EmailField(最大长度=100,详细名称=“电子邮件”)
我希望它像这样输出到模板中(假设一个具有给定值的实例):
字段名字段值
---------- -----------
我叫韦恩·库茨
电子邮件[email protected]
我试图实现的是能够将模型的一个实例传递给模板,并能够在模板中动态地迭代它,如下所示:
<;表>;
{字段%中的字段为%1}
<;tr>;
<;td>;{{field.name}}</td>;
<;td>;{field.value}}</td>;
</tr>;
{%endfor%}
</表>;
有没有一个整洁的“Django批准”的方法来做到这一点?这似乎是一项非常常见的任务,我需要经常为这个特定的项目做这项工作
model.\u-meta.get\u-all\u-field\u-names()将提供模型的所有字段名,然后您可以使用model.\u-meta.get\u-field()来获取详细名称,并使用getattr(model\u实例,'field\u-name')从模型中获取值
注意:model.\u meta.get\u all\u field\u names()在django 1.9中不推荐使用。而是使用model.\u meta.get\u fields()获取模型的字段,使用field.name获取每个字段的名称