Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 访问Django模板中的对象属性_Python_Django_Django Templates_Django Template Filters - Fatal编程技术网

Python 访问Django模板中的对象属性

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对象,这些对象的名称很少。然后,我想访问特定对象及其字段,即这个特定人的性别、年龄、城市。到目前为止,我

我希望在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)

我的目标是能够使用值在列表上循环,然后在每次迭代中访问相应的对象。比方说,我的列表看起来像
['John'、'Adam'、'Alice'、'Katherine']
,我想访问
name
属性等于John、Adam的对象,Alice或Katherine。

为什么不在
视图.py中生成这样的
人的列表呢?
这个名字列表是在
视图.py中生成的,但是还有一件事-我希望这个列表有固定数量的元素(为此,假设为3)。通过只生成
Person
names属性的列表,它可以是0到3之间的任意位置。我正在生成这样的列表,然后用
None
值填充它,直到它达到所述计数。您可以在视图中执行此操作,并通过这样的
Person.objects.get(…)删除
map(…)
您的姓名。通常,模板应该只用于呈现内容,而不用于执行很多语义方面的操作。没错,我可以创建字典,其中的关键是人名,作为值,我可以很好地传递所需的对象。