gpt4 book ai didi

python - 如何在 Django 中创建动态创建的单选按钮表单

转载 作者:行者123 更新时间:2023-11-28 19:51:19 28 4
gpt4 key购买 nike

enter image description here

你好。

我是 Django 的新手我想在 html 中创建一个类似于上图的表单。当用户选择单选按钮时,表单应保存数据。

如何在django中实现这样一个表单(请注意用户不能选择多个答案)

最佳答案

您想使用 ChoiceFieldRadioSelect :

from django import forms

class GenderForm(forms.Form):
CHOICES = (
('M', 'Male'),
('F', 'Female'),
)
choice = forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect())

记住,Django documentation is your friend !

动态变化的选择如果您希望能够动态创建表单,使用 ModelForm 代替 forms.Form 可能是个好主意。这是一个例子:

from django.db import models
from django.forms import ModelForm
from django import forms

class Answer(models.Model):
answer = models.CharField(max_length=100)

def __unicode__(self):
return self.answer

class Question(models.Model):
title = models.CharField(max_length=100)
answers = models.ManyToManyField('Answer')

class QuestionForm(ModelForm):
class Meta:
model = Question
fields = ('title', 'answers')
widgets = {
'answers': forms.RadioSelect(),
}

在您的 View 中使用指定实例实例化表单:

question = Question.objects.order_by('?')[0]
form = QuestionForm(instance=question)

然后表单将使用与该问题相关的答案(在本例中是随机选择的)并像往常一样将表单传递给模板上下文。

关于python - 如何在 Django 中创建动态创建的单选按钮表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5907193/

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