2011-03-30 55 views
12

我需要在Django用戶模型中強制使用電子郵件字段。我不知道該怎麼做。建議歡迎。我目前正在使用:Django用戶模型電子郵件字段:如何使其強制

from django.contrib.auth.forms import UserCreationForm 

我的用戶創作的形式,這與我自己的自定義組合UserProfileCreateForm

伊恩

+0

你應該接受他的回答。 – dragostis 2013-05-07 10:08:02

回答

16

你應該能夠子類中提供的報名表,並覆蓋域的屬性在Meta類。

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

第一個解決方案對我無效。 第二種解決方案完美運作。 非常感謝。 – 2014-01-21 19:54:40

+0

這應該設置爲我想的正確答案... – vladblindu 2015-12-04 18:10:26

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') 
相關問題