【发布时间】:2014-07-12 17:50:48
【问题描述】:
很抱歉提出这样一个蹩脚的问题,但我无法为 ModelForm 中的字段设置初始值。它看起来像这样:
class OrderRegisterForm(forms.ModelForm):
class Meta:
model = Order
widgets = {
'weight_units': forms.RadioSelect,
}
在模型中:
class Order(models.Model):
WEIGHT_UNIT_CHOICES = (
('KG', 'kg'),
('TN', 't'),
)
weight_units = models.CharField(
max_length=2,
choices=WEIGHT_UNIT_CHOICES,
default="KG"
)
但后来我试图在这样的模板中呈现它
<ul class="form__row__list">
{{ order_form.weight_units }}
</ul>
出现正确的值,但未选择具有默认值的单选按钮。我尝试传递一个初始参数,在表单中覆盖__init__ 等等,但仍然没有任何效果。
更新
as_p() 提供了正确的结果。事情变得越来越奇怪了。
<p>
<label for="id_weight_units_0">Weight units:</label>
<ul id="id_weight_units">
<li>
<label for="id_weight_units_0"><input checked="checked" id="id_weight_units_0" name="weight_units" type="radio" value="KG" /> kg</label>
</li>
<li>
<label for="id_weight_units_1"><input id="id_weight_units_1" name="weight_units" type="radio" value="TN" /> t</label>
</li>
</ul>
请告诉我我的错误。
【问题讨论】:
-
你有没有按照这个问题尝试过一切:stackoverflow.com/questions/604266/…