<https://lh3.googleusercontent.com/-pvHOH7DpU94/VW7i_dFeTVI/AAAAAAAAAFQ/ZdGQlRUPSrQ/s1600/register.png>
Hello, I am using Django 1.8 and creating a custom user model and 
registration. My Custom USer registration form is this - 
class CustomUserCreationForm(UserCreationForm):
"""
A form that creates a user, with no privileges, from the given email and 
password
"""

def __init__(self,*args,**kargs):
super(CustomUserCreationForm,self).__init__(*args,**kargs)
del self.fields['username']

class Meta:
model = CustomUser
fields = ['email',]

My CustomUser model is this - 
class CustomUser(AbstractBaseUser):

first_name = models.CharField(max_length=100,blank=True)
last_name = models.CharField(max_length=100,blank=True)
college = models.CharField(max_length=200,blank=True)
email = models.EmailField(unique=True,blank=False)
date_joined = models.DateTimeField(_('date joined'), default=datetime.now())
is_active   = models.BooleanField(default=True)
is_superuser    = models.BooleanField(default=False)
is_staff    = models.BooleanField(default=False)

USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['first_name']

objects = CustomUserManager()

class Meta:
verbose_name = _('user')
verbose_name_plural = _('users')

def get_absolute_url(self):
return "/users/%s/" % urlquote(self.email)

def get_full_name(self):
"""
Returns the first name plus the last name , with a space in between
"""
full_name = '%s %s' % (self.first_name,self.last_name)
return full_name.strip()

def get_short_name(self):
"""
Returns the short name for the user
"""
return self.first_name

def email_user(self,subject,message,from_email=None):
"""
Sends an email to the user
"""
send_mail(subject,message,from_email,[self.email])


I am generating this form from this view - 
def register_user(request):
    if request.method == 'POST':
        form = CustomUserCreationForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/accounts/register_success')
        
    else:
        form = CustomUserCreationForm()
    args = {}
    args.update(csrf(request))
    
    args['form'] = form
    
    return render(request, 'register.html', args)

And finally my register.html is this - 
{% extends "base.html" %}

{% block content %}
  
  <h2>Register</h2>
  
  {% for field in form %}
    {{field.error}}

  {% endfor %}
  
  <form action="/accounts/register/" method="post">
  {% csrf_token %}
  {{form.as_p}}
  
  
  
  <input type="submit" value="Register" />
    
  </form>
  
{% endblock %}

Despite doing everything right (I guess) my generated registration form has 
no email field and looks like this - 

<https://lh3.googleusercontent.com/-pvHOH7DpU94/VW7i_dFeTVI/AAAAAAAAAFQ/ZdGQlRUPSrQ/s1600/register.png>
Will please anybody help me in knowing where I am going wrong?
Thanks.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/825863ae-d7bb-4769-b21e-663b7d556620%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to