我正在使用带有django-registration的SelectDateWidget来保存注册时的出生日期.我已经尝试排除生日,并创建了一个配置文件并使用额外数据保存.我不太清楚一切都出错了.
models.py
class Profile(models.Model):
...
dob = models.DateField(_('birthday'))
Run Code Online (Sandbox Code Playgroud)
forms.py
from django.forms.extras.widgets import SelectDateWidget
class ProfileRegistration(RegistrationFormTermsOfService):
...
dob = forms.DateField(widget=SelectDateWidget(years=range(1999,1939,-1)),
label=_("Birthday"),
)
Run Code Online (Sandbox Code Playgroud)
prifilebackend.py
from registration.forms import RegistrationForm
from registration.models import RegistrationProfile
...
class Backend(default.DefaultBackend):
...
p = Profile.objects.get(user=new_user)
p.dob=kwargs['dob']
p.save()
Run Code Online (Sandbox Code Playgroud)
我在注册用户时遇到的错误是:profile_profile.dob可能不是NULL
帖子数据正在生成dob_day,dob_month和dob_year.我试图清理数据但无济于事.任何帮助将不胜感激.
解决了:
profilebackend.py
signals.user_registered.send(sender=self.__class__,
user=new_user,
request=request)
u = User.objects.get(username=new_user.username)
u.first_name = kwargs['first_name']
u.last_name = kwargs['last_name']
gender = kwargs['gender']
dob = kwargs['dob']
p = Profile(user = new_user, gender = gender, dob = dob)
p.save()
u.save()
Run Code Online (Sandbox Code Playgroud) 我已经为我的django项目创建了一个自定义用户。当我尝试使用管理员创建新用户时,我无法访问该表单,并且收到错误消息:"Key 'username' not found in 'CustomUserForm'"
我的代码如下:
models.py
from django.core import validators
from django.db import models
from django.utils import timezone
from django.utils.http import urlquote
from django.utils.translation import ugettext_lazy as _
from django.core.mail import send_mail
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin
from .managers import CustomUserManager
class CustomUser(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(_('email address'), max_length=254, unique=True)
first_name = models.CharField(_('first name'), max_length=30, blank=True)
last_name = models.CharField(_('last name'), max_length=30, blank=True)
is_staff = models.BooleanField(_('staff status'), default=False,
help_text=_('Designates whether the user can log into this admin ' …Run Code Online (Sandbox Code Playgroud)