<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.