这不应该是一个函数调用,因为它在template 内部。下面改一下,
{% for element in event.getelement.all() %}
与
{% for element in event.getelement.all %}
然后,您发布的解决方案链接应该在那之后工作。
编辑:
如果你这样做,
{{ event.getelement.all|join:", " }}
所以这可能会产生类似的结果,
GetElement object, GetElement object, GetElement object
要获取特定属性的值,您还必须添加该属性。像这样的,
{% for e in event.getelement.all %}
{{ e.<attr_name> }},
{% endfor %}
这可能会产生类似,
event1, event2, event3,
当然,这不是最佳解决方案,因为这不是使用任何框架时做事的正确方法。
最佳解决方案:
应该遵循的是,执行views 中的每一个逻辑,并将data 的干净(纯)形式发送到templates。我的意思是发送lists、dictionaries、objects、tuples 应该发送到templates。因此,创建所有事件的 list 并将其发送到 templates 虽然 context。
注意:以下示例均基于假设。
查看:
def xyz(request):
event = Event.objects.get(name='xyz')
context = {
'event_elements': [e.name for e in event.getelement.all()]
}
return render(request, 'xyz.html', context)
模板:
{{ event_elements|join:", " }}
现在这肯定会起作用。