gpt4 book ai didi

python - 使用 Django allauth 创建自定义字段

转载 作者:太空宇宙 更新时间:2023-11-03 11:04:55 26 4
gpt4 key购买 nike

我正在尝试为 Django allauth 注册表单添加自定义字段,但没有成功。我创建了以下表单和模型:

模型.py

from django.db import models
from django.contrib.auth.models import User

# Create your models here.
class UserProfile(models.Model):

user = models.OneToOneField(User, related_name='profile', unique=True)

# The additional attributes we wish to include.
website = models.URLField(blank=True)
picture = models.ImageField(upload_to='profile_images', blank=True)

def __unicode__(self):
return self.user.username

表单.py

from django.contrib.auth import get_user_model
from django import forms
from .models import UserProfile

class SignupForm(forms.ModelForm):

class Meta:
model = get_user_model()
fields = ('username', 'password', 'email', 'website', 'picture')

def save(self, user):
profile.save()
user.save()

settings.py

AUTH_USER_MODEL = 'user_app.UserProfile'
ACCOUNT_SIGNUP_FORM_CLASS = 'user_app.forms.SignupForm'

我收到以下错误:AttributeError:类型对象“UserProfile”没有属性“REQUIRED_FIELDS”

  1. 这是扩展基类的正确方法吗?
  2. 对于个人资料页面,如何加载扩展类而不是用户类,以便显示已登录的用户名?

最佳答案

您需要在模型中定义一个名为 REQUIRED_FIELDS 的元组:

class UserProfile(models.Model):

REQUIRED_FIELDS = ('user',)

user = models.OneToOneField(User, related_name='profile', unique=True)

关于python - 使用 Django allauth 创建自定义字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22586897/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com