是否可以在djang的下拉列表中存储表单值

2024-05-28 23:58:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用django来制作一个问题应用程序,我允许用户向站点添加问题,并为每个问题提供两个可选答案,这些答案由提出问题的用户定义。我想在下拉框中显示可选答案。但我的模型一直有一个错误,说选项一没有定义。你知道吗

选择模态

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)

    CHOICES = (
        (option_one,option_one),
        (option_two,option_two),

    )
    user_choice = models.CharField(
        max_length=200,
        choices=CHOICES,
        default=Yes,
    )

    votes = models.IntegerField(default=0)

    def __str__(self):
        return  self.user_choice

查看

def create_poll(request):

    if request.method == 'POST':
        form = CreatePollForm(request.POST)
        if form.is_valid():
            question = form.cleaned_data['question']
            option_one = form.cleaned_data['option_one']
            option_two = form.cleaned_data['option_two']
            print option_one
            q = Question.objects.create(question_text=question)
            o = Choice.objects.create(question=q, option_one=option_one,option_two=option_two)
            q.save()
            o.save

            form = CreatePollForm()
            return render(request, 'polls/createPolls_form.html', {'form':form})

    form = CreatePollForm()
    return render(request,'polls/createPolls_form.html',{'form':form})

你知道吗表单.py你知道吗

class CreatePollForm(forms.Form):
        question = forms.CharField(max_length=100)
        option_one = forms.CharField(max_length=100)
        option_two = forms.CharField(max_length=100)

Tags: 答案formreturnmodelsrequestcreateformsone
2条回答

为什么不尝试删除默认选项,然后尝试相同的操作:

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)

    user_choice = models.CharField(
        max_length=200,
        default=Yes,
    )

    votes = models.IntegerField(default=0)

    def __str__(self):
        return  self.user_choice

您正在使用选项1作为变量,但尚未定义。您可以将其用作“option\u one”之类的字符串,也可以在前面定义它,例如option\u one='您要定义的任何内容….'

相关问题 更多 >

    热门问题