2011-03-30 6 views
12

장고 사용자 모델의 전자 메일 필드를 필수로 설정해야합니다. 그것을하는 방법이 나에게는 분명하지 않습니다. 제안을 환영합니다. 내 사용자 작성 양식Django 사용자 모델 전자 메일 필드 : 필수로 만드는 방법

from django.contrib.auth.forms import UserCreationForm 

, 내 자신의 관습이 결합 UserProfileCreateForm

이안

+0

당신은 그의 대답을 받아 들여야한다. – dragostis

답변

16

당신은 제공된 등록 양식 할 서브 클래스와 필드의 속성을 오버라이드 (override) : 내가 현재 사용하고 클래스의

from django.contrib.auth.forms import UserCreationForm 

# Not sure about the syntax on this one. Can't find the documentation. 
class MyUserCreationForm(UserCreationForm): 

    class Meta: 
     email = { 
      'required': True 
     } 


# This will definitely work 
class MyUserCreationForm(UserCreationForm): 

    def __init__(self, *args, **kwargs): 
     super(MyUserCreationForm, self).__init__(*args, **kwargs) 

     self.fields['email'].required = True 
+1

첫 번째 해결 방법이 나에게 적합하지 않았습니다. 두 번째 솔루션은 완벽하게 작동했습니다. 고마워요. –

+0

이것은 정답으로 설정해야합니다 ... – vladblindu

6
from django import forms 
from django.contrib.auth.models import User 


class MyUserForm(forms.ModelForm): 

    email = forms.CharField(max_length=75, required=True) 

    class Meta: 

     model = User 
     fields = ('username', 'email', 'password') 
관련 문제