Python 访问Django模板中的对象属性
我希望在python中实现如下功能:Python 访问Django模板中的对象属性,python,django,django-templates,django-template-filters,Python,Django,Django Templates,Django Template Filters,我希望在python中实现如下功能: person = Person.name('Thomas') @register.filter(name='people_attributes') def object_attributes(val): return Person.objects.get(name=val) 在my views.py中,我将传递与查询和列表匹配的每个People对象,这些对象的名称很少。然后,我想访问特定对象及其字段,即这个特定人的性别、年龄、城市。到目前为止,我
person = Person.name('Thomas')
@register.filter(name='people_attributes')
def object_attributes(val):
return Person.objects.get(name=val)
在my views.py中,我将传递与查询和列表匹配的每个People
对象,这些对象的名称很少。然后,我想访问特定对象及其字段,即这个特定人的性别、年龄、城市。到目前为止,我已经尝试过这样定义自定义筛选器:
person = Person.name('Thomas')
@register.filter(name='people_attributes')
def object_attributes(val):
return Person.objects.get(name=val)
我的目标是能够使用值在列表上循环,然后在每次迭代中访问相应的对象。比方说,我的列表看起来像
['John'、'Adam'、'Alice'、'Katherine']
,我想访问name
属性等于John、Adam的对象,Alice或Katherine。为什么不在视图.py中生成这样的人的列表呢?
这个名字列表是在视图.py中生成的,但是还有一件事-我希望这个列表有固定数量的元素(为此,假设为3)。通过只生成Person
names属性的列表,它可以是0到3之间的任意位置。我正在生成这样的列表,然后用None
值填充它,直到它达到所述计数。您可以在视图中执行此操作,并通过这样的Person.objects.get(…)删除map(…)
您的姓名。通常,模板应该只用于呈现内容,而不用于执行很多语义方面的操作。没错,我可以创建字典,其中的关键是人名,作为值,我可以很好地传递所需的对象。