2011-03-30 13 views
12

मुझे Django उपयोगकर्ता मॉडल में ईमेल फ़ील्ड अनिवार्य बनाने की आवश्यकता है। यह मेरे लिए स्पष्ट नहीं है कि यह कैसे करें। सुझाव स्वागत है। मैं वर्तमान में उपयोग कर रहा हूँ:Django उपयोगकर्ता मॉडल ईमेल फ़ील्ड: इसे अनिवार्य बनाने के लिए कैसे करें

from django.contrib.auth.forms import UserCreationForm 
मेरे उपयोगकर्ता निर्माण फार्म के लिए

, और मेरे स्वयं के कस्टम के साथ इस संयोजन UserProfileCreateForm

इयान

+0

आप अपने जवाब को स्वीकार करना चाहिए। – dragostis

उत्तर

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

पहला समाधान मेरे लिए काम नहीं करता था। दूसरा समाधान पूरी तरह से काम किया। बहुत बहुत धन्यवाद। –

+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') 
संबंधित मुद्दे