小编Ern*_*mbe的帖子

Django SelectDateWidget没有保存日期

我正在使用带有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 django-registration

5
推荐指数
1
解决办法
1502
查看次数

Django用户创建为自定义用户返回“在'CustomUserForm'中找不到键'username'”

我已经为我的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)

python django

5
推荐指数
1
解决办法
1022
查看次数

标签 统计

django ×2

django-registration ×1

python ×1