我有一个django-allauth app的django项目.我需要在注册时从用户那里收集其他数据.我在这里遇到了类似的问题, 但不幸的是,没有人回答了个人资料定制部分.
ACCOUNT_SIGNUP_FORM_CLASS(=None)指向自定义表单类(例如
‘myapp.forms.SignupForm’)的字符串,用于在注册期间向用户请求其他输入(例如,简报注册,出生日期).此类应实现一个‘save’方法,接受新注册的用户作为其唯一参数.
我是django的新手,我正在努力解决这个问题.有人可以提供这种自定义表单类的示例吗?我是否需要添加一个模型类,以及一个链接到喜欢的用户对象这个 ?
我对Django很新,我正在使用Django 1.0.我有这个:
forms.py:
class MyForm(forms.Form):
extra_cheeze = forms.BooleanField(required=False,
initial=False,
label='Extra cheeze')
Run Code Online (Sandbox Code Playgroud)
views.py:
def order_something(request):
form = MyForm(request.POST or None)
if request.method == 'POST' and form.is_valid():
# do stuff...
Run Code Online (Sandbox Code Playgroud)
问题是除非选中复选框,否则表单无效,因此似乎没有办法从字段中获取False值.据我所知,从文档来看,它应该有效.如果我在表单中添加一个CharField,它就有效...
我在这里误解了什么,或者这是一个错误?(是的,我用Google搜索但没有发现任何相关内容)
更新:正如@Dominic Rodger所建议的,我尝试添加一个隐藏字段
dummy = forms.CharField(initial='dummy', widget=forms.widgets.HiddenInput())
,这使得表单有效.这种解决方法使我现在可以继续前进,但知道我是否误解了某些内容仍然很有趣......