从def\uu init\uu()访问def clean()中的变量

2024-09-25 08:40:33 发布

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

我已经在表单中的definit函数中建立了一个变量,我希望能够在def clean()中以相同的形式访问该变量。你知道吗

def __init__(self, *args, **kwargs):                         
        super(UserOrderForm, self).__init__(*args, **kwargs)
        car = 'BMW'

def clean(self):
       cleaned_data = super(UserOrderForm, self).clean()
       print(car)

当我印车的时候,有人告诉我

name 'car' is not defined

有办法吗?你知道吗

谢谢!你知道吗


Tags: 函数selfclean表单initdefargscar
3条回答

我想你把car作为一个成员变量,然后在init方法中用自助汽车=“宝马”。你知道吗

然后,当您想在clean中看到值时,可以调用自我清洁你知道吗

python class instance variables and class variables

不确定您要做什么,但是您的表单应该声明一个模型以获得一个查询集来使用。你知道吗

class UserOrderForm(forms.ModelForm):

    class Meta:
        model = Cars
        fields = ['manufacturer', 'model_number', 'etc']
        widgets = {'manufacturer': forms.Select}

您的用户将提供输入,例如从select字段中选择BMW。你知道吗

签出:https://docs.djangoproject.com/en/2.1/topics/forms/modelforms/

在Python中,使用self声明实例属性时,必须将代码更改为

def __init__(self, *args, **kwargs):                         
        super(UserOrderForm, self).__init__(*args, **kwargs)
        self.car = 'BMW'

def clean(self):
       cleaned_data = super(UserOrderForm, self).clean()
       print(self.car)

在原始代码中,变量car只存在于__init__方法中。你知道吗

相关问题 更多 >