django 使单选框为必填项

0 投票
2 回答
970 浏览
提问于 2025-04-17 06:37

我该如何让单选框变成必选的呢?我现在想到的唯一办法就是重写一些东西。

my_list_choices = ( (1,'Yes'),(0,'No'),)

widgets = {
    'my_radio_field' : forms.RadioSelect(choices=my_list_choices),
}

补充说明:我的模型是这样的。

class MyModel(models.Model):
    name = models.CharField(max_length=32, blank=True, verbose_name='name')
    bool_a = models.BooleanField(blank=False, verbose="bool") 

我想创建一个必选的单选框,选项是“是/否”,用来填充一个叫 bool_a 的变量。

2 个回答

0

一般来说,你可以通过在字段对象上添加'required=True'这个参数来让任何表单字段变成必填项,像这样:

class MyForm:
    my_answer = django.forms.CharField(max_length=99, required=True)

你的问题定义的是一个小部件,而不是一个表单。

1

如果我没记错的话,在使用表单的时候,你可以在视图里检查form.is_valid()。

我有一个网站,里面有一个文件上传框和一个单选按钮。如果我没有选择其中一个(或者两个都没选)然后点击提交,页面就会重新加载,并显示错误信息(这个字段是必填的)。

form = myform(request.POST)
if form.is_valid():
        # do something awesome
return render_to_response(...)

这有帮助吗?

撰写回答