python - 如何在 ModelForm 中使用 forms.ChoiceField()?

标签 python django python-2.7 django-models django-forms

我想使用 ModelForm 在我的表单中显示一个下拉列表。我的代码添加在下面-

from django import forms
from django.forms import ModelForm

class CreateUserForm(ModelForm):
  class Meta:
    model = User
    fields = ['name', 'age']
    AGE_CHOICES = (('10', '15', '20', '25', '26', '27', '28'))
    age = forms.ChoiceField(
        widget=forms.Select(choices=AGE_CHOICES)
    )

它没有在表单中显示下拉列表。另外,我希望将“选择”选为默认值,值为空。我怎样才能做到这一点?

提前致谢!

最佳答案

修改了你的代码。试试这个:

from django import forms
from django.forms import ModelForm

class CreateUserForm(ModelForm):
    class Meta:
        model = User
        fields = ('name', 'age')
        AGE_CHOICES = (
                ('', 'Select an age'),
                ('10', '10'), #First one is the value of select option and second is the displayed value in option
                ('15', '15'),
                ('20', '20'),
                ('25', '25'),
                ('26', '26'),
                ('27', '27'),
                ('28', '28'),
                )
         widgets = {
            'age': forms.Select(choices=AGE_CHOICES,attrs={'class': 'form-control'}),
        }

关于python - 如何在 ModelForm 中使用 forms.ChoiceField()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40885866/

相关文章:

Python if 语句检查字符串中的英镑符号?

Python 舍入问题

python - 有没有办法将 mysql 列值保存在 python 变量中?

python - 在dynamic_rnn和LSTMCell中使用带有输入字符串的TensorFlow时出错

python - 如何通过将新产品添加到 ManyToMany 字段来动态添加字段

python - 我对这个类的迭代器和生成器的理解 - 如果我错了,请纠正我

用于创建 SQL Server 数据库备份文件的 Python 脚本(使用 pyodbc)

python - 如何确定国际化参数的优先级

python - 获取请求参数并在forms.py中作为widget参数使用

python - 如何启动 http 服务器,然后打开 Web 浏览器?