【发布时间】:2014-10-16 21:16:48
【问题描述】:
我有 4 个班级模型,我做了一个WizardView。
在视图的最后,我有
return render_to_response('fattura_wizard.html', {
'form_data': [form.cleaned_data for form in form_list],
})
我需要使用 HTML 中的单个字段(没有 for),我尝试过做一个过滤器,但我不明白它是否可以使用
以下{{ form_data }}:
[
{'FormField1': u'field4', 'FormField2': u'field2', 'FormField3': u'field3', 'FormField4': u'field1', 'FormField5': u'fi'},
{'FormField6': u'', 'FormField7': u'', 'FormField8': u'field6', 'FormField9': u'field5', 'FormField10': u'', 'FormField11': u'', 'FormField12': u'', 'FormField13': u'', 'FormField14': u'', 'FormField15': u'', 'FormField16': u'', 'FormField17': u'', 'FormField18': u''},
{'FormField19': u'', 'FormField20': u'', 'FormField21': u'', 'FormField22': u'', 'FormField23': u'', 'FormField24': u'', 'FormField25': u'', 'FormField26': u''},
{'FormField27': datetime.date(2015, 8, 25), 'FormField28': datetime.date(2015, 8, 25), 'FormField29': u'', 'FormField30': datetime.date(2015, 8, 25)}
]
我的尝试是:
@register.filter(name='lookup')
def cut(value, arg):
return value[arg]
{{ mydict|lookup:item.name }}
我尝试在返回值中传递value[key1][key2] 之类的内容,但没有任何结果。
PS 有很多空格,因为我只编译了 4 个表单中的第一个。
【问题讨论】:
-
用 simple_tag 解决:
@register.simple_tag def keyval(fdata, parameter, stindex, ndindex=None): if(ndindex is None): return fdata[stindex][parameter] return fdata[stindex][ndindex][parameter]我在模板中调用它:{% keyval form_data "FormField1" 0 %}
标签: python django templates filter django-context