Django에서 사용자 인증 모듈을 활성화했지만, UserCreationForm
을 사용하면 사용자 이름과 암호/암호 확인 필드 만 묻습니다. 전자 메일 및 전체 이름 필드도 필요하며 필수 필드로 설정합니다. Django는 사용자 정의 UserCreationForm을 만듭니다.
from django.contrib.auth.forms import UserCreationForm
from django import forms
from django.contrib.auth.models import User
class RegisterForm(UserCreationForm):
email = forms.EmailField(label = "Email")
fullname = forms.CharField(label = "Full name")
class Meta:
model = User
fields = ("username", "fullname", "email",)
지금 양식이 새 필드를 표시하지만, 데이터베이스에 저장하지 않습니다
나는이 일을했습니다.
어떻게 수정할 수 있습니까?
def save(self, commit=True):
user = super(RegisterForm, self).save(commit=False)
user.fullname = self.cleaned_data["fullname"]
user.email = self.cleaned_data["email"]
if commit:
user.save()
return user
http://code.djangoproject.com/browser/django/trunk/django/contrib/auth/forms.py#L10
좋은 기본 장고 사용자 작성 양식에 LAST_NAME을 추가 admin.py에 쓴 것입니다 대답했다.데이터베이스의 'full_name'필드는 신경 쓰지 않지만 등록 양식을 편집하여 이름과 성을 제외하고 'full name'필드를 요구할 수 있습니까? –
나는 따라하기로 확신하지 않는다 ... 당신은 fullname을위한 폼에 하나의 필드 만 갖고 싶지만 그것이 저장되는지 아닌지 상관하지 않는다고 말하는가? 또는 하나의 fullname 필드를 갖고 User 모델을 사용하여 필드를 저장할 수있는 방법을 묻는 중입니까? – chandsie
양식에서 "전체 이름"이라는 하나의 필드를 원하지만 User 모델의 fullname 필드에 저장하려고합니다. 할 수없는 경우 모델의 first_name 및 last_name 필드에 저장하기 위해 fullname 필드를 분할하십시오. –