如何在 Django 表单向导中制作像 RadioSelector 这样的 Django 字段
How to make a django field like a RadioSelector inside a django form wizard
我需要以一种采用 X/Z、True/False 或 0/1 的方式定义我的 Django 模型的一个字段。我的意思是,当我 select 一个复选框时,我希望能够只选择一个复选框,而不是同时选择两个复选框(就像 select 在是或否之间)并且在提交后我在数据库中看到这些提到的值之一 table字段。
到目前为止我尝试过的:
from model_utils import Choices
class Post(models.Model):
STATUS = Choices(
('x', ('select X')),
('z', ('Select Z'))
)
action_style = models.CharField(
max_length=32,
choices=STATUS,
default='x'
)
形式为:
class Postform(forms.ModelForm):
STATUS = Choices(
('x', 'select X'),
('z', 'Select Z')
)
status = forms.MultipleChoiceField(
widget=forms.CheckboxSelectMultiple,
required=False, choices=STATUS
)
class Meta:
model = Post
fields = ['status']
并在模板中:
<form method="POST" action="" enctype="multipart/form-data">
{% csrf_token %}
{{ wizard.management_form }}
{{ wizard.form.action_style }}
<input type="submit" value="submit"/>
</form>
这可能会导致仅选择一个问题。
forms.CheckboxSelectMultiple
根据关于 CheckboxSelectMultiple and related SelectMultiple 的 django 文档,它允许 多项选择:<select multiple>...</select>
您可能需要 CheckBoxInput3 or use RadioSelect 4。
在forms.py中,替换
status = forms.MultipleChoiceField(
widget=forms.CheckboxSelectMultiple,
required=False, choices=STATUS
)
和
status = forms.MultipleChoiceField(
widget = forms.RadioSelect(choices=STATUS)
)
我需要以一种采用 X/Z、True/False 或 0/1 的方式定义我的 Django 模型的一个字段。我的意思是,当我 select 一个复选框时,我希望能够只选择一个复选框,而不是同时选择两个复选框(就像 select 在是或否之间)并且在提交后我在数据库中看到这些提到的值之一 table字段。
到目前为止我尝试过的:
from model_utils import Choices
class Post(models.Model):
STATUS = Choices(
('x', ('select X')),
('z', ('Select Z'))
)
action_style = models.CharField(
max_length=32,
choices=STATUS,
default='x'
)
形式为:
class Postform(forms.ModelForm):
STATUS = Choices(
('x', 'select X'),
('z', 'Select Z')
)
status = forms.MultipleChoiceField(
widget=forms.CheckboxSelectMultiple,
required=False, choices=STATUS
)
class Meta:
model = Post
fields = ['status']
并在模板中:
<form method="POST" action="" enctype="multipart/form-data">
{% csrf_token %}
{{ wizard.management_form }}
{{ wizard.form.action_style }}
<input type="submit" value="submit"/>
</form>
这可能会导致仅选择一个问题。
forms.CheckboxSelectMultiple
根据关于 CheckboxSelectMultiple and related SelectMultiple 的 django 文档,它允许 多项选择:<select multiple>...</select>
您可能需要 CheckBoxInput3 or use RadioSelect 4。
在forms.py中,替换
status = forms.MultipleChoiceField(
widget=forms.CheckboxSelectMultiple,
required=False, choices=STATUS
)
和
status = forms.MultipleChoiceField(
widget = forms.RadioSelect(choices=STATUS)
)