我是 Django 的新手,我正在尝试在我的网站中使用 django-friends。
这是来自 django-friends 的表格:
>>> from django import forms
>>> class UserForm(forms.Form):
...
... def __init__(self, user=None, *args, **kwargs):
... self.user = user
... super(UserForm, self).__init__(*args, **kwargs)
...
>>> f = UserForm({})
>>> f.is_bound
False
document说“传递一个空字典会创建一个包含空数据的绑定(bind)表单”,但为什么结果是未绑定(bind)的(f.is_bound 为 False)?
非常感谢!
最佳答案
您的 __init__
语句吞没了第一个参数。
从您的 init 语句中删除 user=None
,也许可以从 kwargs
中提取它。
class UserForm(forms.Form):
def __init__(self, *args, **kwargs):
self.user = kwargs.pop('user', None)
super(UserForm, self).__init__(*args, **kwargs)
# now the form is actually receiving your first argument: args[0] == {}
关于python - 为什么我的表格总是未绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8877344/