gpt4 book ai didi

python - 错误 : Django 'ChoiceField' object has no attribute 'use_required_attribute'

转载 作者:行者123 更新时间:2023-11-28 18:20:55 34 4
gpt4 key购买 nike

这是我的模型(在 models.py 中)

class Score(models.Model):

ROUTINETYPE_CHOICE = (
(0, 'R1'),
(1, 'R2'),
(2, 'F'),
)

routineType = models.IntegerField(choices=ROUTINETYPE_CHOICE)
pointA = models.DecimalField(max_digits=3, decimal_places=1)
pointB = models.DecimalField(max_digits=3, decimal_places=1)
pointC = models.DecimalField(max_digits=5, decimal_places=3)

这是我的表单(在 forms.py 中)

class ScoreForm(forms.ModelForm):

class Meta:
ROUTINETYPE_CHOICE = (
(0, 'R1'),
(1, 'R2'),
(2, 'F'),
)

model = Score
fields = ('routineType', 'pointA', 'pointB', 'pointC')

widgets = {
'routineType': forms.ChoiceField(choices=ROUTINETYPE_CHOICE),
'pointA': forms.TextInput(attrs={'placeholder': 'xx,xx', 'value': '0'}),
'pointB': forms.TextInput(attrs={'placeholder': 'xx,xx', 'value': '0'}),
'pointC': forms.TextInput(attrs={'placeholder': 'xx,xx', 'value': '0'}),
}

我的观点是通常的:

def score_create(request):

if request.method == 'POST':
form = ScoreForm(request.POST)

if form.is_valid():
form.save()
return HttpResponseRedirect('/score/')

else:
form = ScoreForm()

context = {'form': form}
return render(request, 'score_create.html', context)

当我尝试显示我的表单时,django 给我这个错误:

'ChoiceField' object has no attribute 'use_required_attribute'

use_required_attribute 是 Django 1.10 中的新功能,我可以将其设置为 False。但它在表单级别,它会说我的其他字段也丢失了 HTML required 属性。

我只有三种可能性(没有选择“虚拟”默认选项,如“选择...”),所以我的 ChoiceField 总是选择一个选项,然后满足 HTML 属性“required”。

有人知道另一种解决方案(除了设置 use_required_attribute=False)吗?

最佳答案

谢谢丹尼尔。这不是一个非常详细的答案,但你是对的。

widgets = {
'routineType': forms.Select(attrs={'class': 'form-control col-sm-2'}),
'pointA': forms.TextInput(attrs={'class': 'form-control col-sm-2', 'placeholder': 'xx,xx', 'value': '0'}),
'pointB': forms.TextInput(attrs={'class': 'form-control col-sm-2', 'placeholder': 'xx,xx', 'value': '0'}),
'pointC': forms.TextInput(attrs={'class': 'form-control col-sm-2', 'placeholder': 'xx,xx', 'value': '0'}),
}

这是有效的!

关于python - 错误 : Django 'ChoiceField' object has no attribute 'use_required_attribute' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45122454/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com