【问题标题】:django form_data filter templatedjango form_data 过滤器模板
【发布时间】: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


【解决方案1】:

OP 写道:

用 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 %}
猜你喜欢
  • 2012-06-03
  • 2011-04-12
  • 2012-08-18
  • 1970-01-01
  • 1970-01-01
  • 2019-01-01
  • 2023-04-11
  • 2013-03-16
  • 1970-01-01
相关资源
最近更新 更多