【发布时间】:2013-12-06 04:51:43
【问题描述】:
我正在尝试使用 django-allauth 配置自定义用户,并在新应用自定义表单中创建了以下注册表单
#settings.py
ACCOUNT_SIGNUP_FORM_CLASS = 'custom_forms.SignupForm'
#custom_forms/models.py
from django import forms
from django.contrib.auth import get_user_model
class SignupForm(forms.Form):
first_name = forms.CharField(max_length=30, label='Voornaam')
last_name = forms.CharField(max_length=30, label='Achternaam')
bio= forms.CharField(max_length=500)
email = forms.EmailField(max_length=254)
password=forms.CharField(label=("Password"), widget=forms.PasswordInput)
password_confirm=forms.CharField(widget=forms.PasswordInput)
class Meta:
model = get_user_model()
def save(self, user):
user.first_name = self.cleaned_data['first_name']
user.last_name = self.cleaned_data['last_name']
user.bio= self.cleaned_data['bio']
user.email= self.clean_data['email']
user.save()
我目前收到以下错误:模块“custom_forms”未定义“SignupForm”类。当我将路径更改为 myapp.custom_forms.SignupForm 时,我得到:导入表单类 toteachhisown.custom_forms 时出错:“没有名为 custom_forms 的模块”。非常感谢任何想法/帮助。
【问题讨论】:
-
这是准确的代码吗?还是
class Meta的缩进有点偏离?此外,如果您定义model=,则应该使用forms.ModelForm而不是forms.Form。另外,这篇文章可以给你一些见解:stackoverflow.com/questions/4048618/… -
啊,谢谢您,这个问题对您有所帮助。那是我必须在路径中包含模型,例如 custom_forms.models.SignupForm。
标签: django django-forms django-users django-allauth