【发布时间】:2019-04-22 17:53:27
【问题描述】:
我无法正确扩展 django-allauth 注册表单。
我需要的字段显示在我的注册表单中,但 rappa_name 字段没有存储在我的数据库中。
我关注了这个帖子:How to customize user profile when using django-allauth
但无法让它工作。
我的forms.py:
from django import forms
from django.contrib.auth import get_user_model
from django.contrib.auth.forms import UserCreationForm
User = get_user_model()
class UserCreationForm(UserCreationForm):
rappa_name = forms.CharField(label = "Rappa Name")
class Meta(UserCreationForm.Meta):
model = User
def signup(self, request, user):
user.rappa_name = self.cleaned_data['rappa_name']
user.save()
return user
还有我的models.py
class User(AbstractUser):
# raooa name of user
rappa_name = CharField(_("Rappa Name"), default='', max_length=255)
def get_absolute_url(self):
return reverse("users:detail", kwargs={"username": self.username})
我确定我的 settings.py 有
ACCOUNT_FORMS = {
'signup': 'myproject.users.forms.UserCreationForm',
}
我需要将 rappa_name 保存为用户的字段,但目前没有保存
【问题讨论】:
-
你确定你在
settings.py中设置了AUTH_USER_MODEL = 'myproject.User'吗? -
@AmanGarg 是:
AUTH_USER_MODEL = "users.User"
标签: django django-allauth