【问题标题】:Django widget for a dropdown list用于下拉列表的 Django 小部件
【发布时间】:2011-10-19 09:07:47
【问题描述】:

下拉列表必须使用哪个 django 小部件?我已经有一个提供下拉列表的模型。但是,有必要自定义相应的表单元素(文本和错误消息文本),并且有必要指定小部件。

这是模型:

class ClientDetails(models.Model):
    paymentType = models.CharField(max_length=4, verbose_name='Zahlungsart', choices=PAYMENT_TYPES)

还有形式:

class ClientDetailsForm(ModelForm):
    paymentType = forms.???(label='Zahlungsart', error_messages={'required': (u'Waehlen Sie die Zahlungsart!'), 'invalid': (u'Waehlen Sie die Zahlungsart!')})

【问题讨论】:

    标签: django forms model


    【解决方案1】:

    我们需要使用forms.Select()

    class Meta:
        model=someForm
        fields=['Dropdown']
        widgets = {
          'Dropdown': forms.Select(attrs={'id':'choicewa'}),
          }
    

    【讨论】:

    • 这实际上就像魅力,但下拉是表单变量的一个如此令人不安的名称
    【解决方案2】:

    你用 ??? 标记的地方用于指定Field class。如果你想指定正确的字段类,你应该使用forms.ChoiceField

    小部件和字段的详细信息:

    【讨论】:

    • 好的,这行得通。现在,该字段已预先选择了第一个选项,而不是显示未选择的选项(模型 => '-----'),如果未更改,则无法验证。如何使用'----'实现类似模型的行为?
    猜你喜欢
    • 1970-01-01
    • 2014-08-26
    • 2018-01-27
    • 1970-01-01
    • 2020-05-11
    • 2020-05-24
    • 2019-10-01
    • 2015-12-12
    • 1970-01-01
    相关资源
    最近更新 更多