使用自定义小部件时,Django表单字段数据丢失

时间:2014-10-16 14:28:09

标签: python django forms widget

我在Django中为表单字段编写了一个自定义窗口小部件,我看到了我想要的HTML输出类型,但该字段未在{{1}中返回}。

HTML是页面中表单的一部分,因此我的小部件存在问题吗?

cleaned_data

1 个答案:

答案 0 :(得分:1)

标记中的输入名称是错误的,因此表单不会收集它。而不是

 <input id="user_{name}_{label}" name="user[{name}]" type="radio" value="{choice}">

你需要

 <input id="user_{name}_{label}" name="{name}" type="radio" value="{choice}">

Django表单中控件id的标准方案是id_<name>[_counter]

现在Django已经拥有一个RadioSelect小部件,可以为您提供相同的功能,因此您可以更好地使用它(在模板中使用您自己的特定标记),而不是重新发明(方形)轮和在窗口小部件中硬编码项目的特定模板。