首页 > 解决方案 > 使用其他数据压缩表单域的选择

问题描述

我有一个表,我想在前两列中显示一些数据,并在最后一列中显示单选选项,以便用户可以选择其中一行。

我可以使用这样的单选小部件遍历字段的选择:

{% for choice in form.user_choice %}
    <td>{{ choice }}</td>
{% endfor %}

但是我怎样才能choices在 django 视图中获得一组输入,get_context_data以便我可以将它们与其他一些数据一起压缩。

如果我这样做:

 frm = self.get_form()
 return {'data':zip(SomeDataListHere, frm.fields['user_choice'].choices)}

它返回我SomeDataListHere压缩的元组列表(最初是选择)。所以我肯定在这里想念一些东西。我究竟做错了什么?

标签: djangodjango-forms

解决方案


嗯,答案很明显。而不是使用

frm.fields['my_field_name']

我必须使用

frm['my_field_name']

然后我可以将其与所有其他数据一起安全地压缩get_context_data并在模板上呈现:

frm = self.get_form()
f = frm['my_field_name']
return {'data': zip(some_other_data, f)}

推荐阅读