Python 如何从视图更改表单变量值

Python 如何从视图更改表单变量值,python,django,Python,Django,我一直在尝试从我的视图向以下表单发送数据 每次调用此表单时,我都需要更改变量(选项) 班级答疑表格(forms.Form): view.py: 参加def考试(申请、考试名称、问题编号=0): 问题是:我需要表单类中的变量(CHOICES)来更改它在视图类中的值(我知道我可以只使用CHOICES=[('b','a')]),但我想从视图中更改它,因为这段代码只是为了显示问题) 还有更好的主意吗 提前感谢您可以更改覆盖表单init方法的字段选择(以便它接受一个选项参数),也可以根据需要在in

我一直在尝试从我的视图向以下表单发送数据

每次调用此表单时,我都需要更改变量(选项)


班级答疑表格(forms.Form):

view.py:


参加def考试(申请、考试名称、问题编号=0):

问题是:我需要表单类中的变量(CHOICES)来更改它在视图类中的值(我知道我可以只使用CHOICES=[('b','a')]),但我想从视图中更改它,因为这段代码只是为了显示问题)

还有更好的主意吗


提前感谢

您可以更改覆盖表单init方法的字段选择(以便它接受一个选项参数),也可以根据需要在init之后更改字段的选择

第一种情况是这样的:

class AnswersForm(forms.Form):
    radioButton = forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect())

    def __init__(self, radio_choices= None, *args, **kwargs):
        super(AnswersForm, self).__init__(self, *args, **kwargs)
        if radio_choices is not None:
            self.fields['radioButton'].choices = radio_choices
查看示例:

form_instance = AnswersForm(new_choices)

首先,请正确格式化您的代码。它需要像真正的Python一样缩进,这样我们才能阅读它。第二,为什么在表单类中定义了
CHOICES
class AnswersForm(forms.Form):
    radioButton = forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect())

    def __init__(self, radio_choices= None, *args, **kwargs):
        super(AnswersForm, self).__init__(self, *args, **kwargs)
        if radio_choices is not None:
            self.fields['radioButton'].choices = radio_choices
form_instance = AnswersForm(new_choices)