我在我们的项目中使用Django。我用Django表单创建了一个表单。在其中一个表单中,我需要检查一个变量,并根据变量的值添加或删除元素。在
我在初始化对象时将这个变量传递给窗体。
即form=MyForm(flag)
在表格课上我做了这个
class MyInfoForm(forms.Form):
def __init__(self, *args,**kwargs):
self.flag= kwargs.pop('flag', None)
super(MyInfoForm, self).__init__(*args, **kwargs)
print self.flag
Firstname = forms.CharField(label=u' First name :', max_length=30)
在init函数中,我已经打印出了标志,并且它工作正常。但如何访问外部变量init 我试过了
^{pr2}$但它不起作用。在
这个怎么样?在
这要看。。。标志的作用域应该是类还是类的实例?在
如果作用域应该是实例(这是您第一次尝试时的情况),那么您可以通过执行以下操作来访问它:
另一方面,如果variable标志属于类(这意味着,对于MyInfoForm的每个实例,flag只有一个值),则可以通过执行以下操作来访问它:
^{pr2}$还有。。。将变量声明为
myFlag
,并尝试打印myflag
。变量名区分大小写。在class
语句是一个可执行语句,它:type
)class
对象绑定到封闭(通常是模块)命名空间中的类名长话短说,您不能从
class
语句体中访问实例属性,因为实例甚至类本身都不存在。在如果您希望根据传递给表单初始值设定项的参数,在每个实例的基础上更新/添加/删除字段,正确的解决方案是首先调用父级的初始值设定项(以确保表单的实例字段正确初始化),然后执行所需的任何操作,例如:
相关问题 更多 >
编程相关推荐