我对Django allauth-app有疑问。我已经设置了allauth-app并且有一个标准登录。现在我想在注册时存储一些额外的信息。确切地说,我想存储用户的城市,名字和姓氏。我试图按照
How to customize user profile when using django-allauth
但即使我尝试捕获我不应该创建模型的名字和姓氏,我也会因为这个错误而失败:
'module' object has no attribute 'CharField'
我在表单中添加了新字段并执行了此操作:
ACCOUNT_SIGNUP_FORM_CLASS = 'yourproject.yourapp.forms.SignupForm'
由于我现在使用Django几天,它可能是我想念的非常基本的东西,我确实尝试阅读手册,但我并没有接近解决这个问题,我决定向你寻求帮助。 提前谢谢。
我的forms.py看起来像这样:
from django.forms import *
class SignupForm(forms.Form):
first_name = forms.CharField(max_length=30, label='Voornaam')
last_name = forms.CharField(max_length=30, label='Achternaam')
def signup(self, request, user):
user.first_name = self.cleaned_data['first_name']
user.last_name = self.cleaned_data['last_name']
user.save()
我的models.py看起来像这样:
from django.db import models
from django.contrib.auth.models import User
from django.db import models
from allauth.account.models import EmailAddress
class Profile(models.Model):
user = models.OneToOneField(User, verbose_name=_('user'), related_name='profiles')
first_name=models.CharField(_("First Name"), max_length=150)
last_name=models.CharField(_("Last Name"), max_length=150)
此行中出现错误:
first_name = forms.CharField(max_length=30, label='Voornaam')
后果 - > 我的表单中的import语句是错误的。它应该是这样的:
formy.py:
from django import forms
答案 0 :(得分:0)
您导入表单模块的方式可能是个问题。你要么想做:
from django.forms import CharField
您明确导入要使用的字段
或者最好:
from django import forms
如果您只想将它们全部导入。