我在Django中有一个看起来像这样的表单
class FooForm(forms.ModelForm):
foo_field = forms.ModelChoiceField(widget=FooWidget(def_arg=self.data))
Run Code Online (Sandbox Code Playgroud)
在我调用的地方self.data,Python会引发异常name 'self' is not defined.我怎么去self那里?
正如其他人所回答的那样,self在那一点上没有提及.这样的东西确实有效:
class FooForm(forms.ModelForm):
foo_field = forms.ModelChoiceField()
def __init__(self, *args, **kwargs):
super(FooForm, self).__init__(*args, **kwargs)
self.fields['foo_field'].initial = self.data
Run Code Online (Sandbox Code Playgroud)
您还可以__init__通过访问小部件self.fields['foo_field'].widget
| 归档时间: |
|
| 查看次数: |
5754 次 |
| 最近记录: |