hi sorry for the late response, as my topic was getting approved.
so i have edited the views,forms and template file but it still does not redirect to home page, can you take a look please
My Forms File:
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
class UserCreateForm(UserCreationForm):
email = forms.EmailField()
class meta:
model = User
fields = ['email','password1','password2']
My Views File:
from django.shortcuts import render, redirect
from .forms import UserCreateForm
from django.contrib import messages
# Create your views here.
def register(request):
if request.method == 'POST':
form = UserCreateForm(request.POST)
if form.is_valid():
form.save()
email = form.cleaned_data.get('email')
messages.success(request,f"account created for {email}")
return redirect ('home')
else:
form = UserCreateForm()
context = {'form': form,
'title': 'Register Page'}
return render(request, 'users/register.html', context)
My Templates File:
{% extends 'blog/base.html' %}
{% load crispy_forms_tags %}
{% block content %}
<div class="container">
<h2>Please Register Here </h2>
<form method="post">
{% csrf_token %}
<div class="form-group">
{{ form.email|as_crispy_field }}
</div>
<div class="form-group">
{{ form.password1|as_crispy_field }}
</div>
<div class="form-group">
{{ form.password2|as_crispy_field }}
</div>
<button class="btn btn-outline-info" type="submit">Sign Up</button>
</form>
</div>
{% endblock content %}
EDIT 2: SO i Finally figured it out:
ok finally i figured it out.
class meta, i had to put class Meta (capital M)
and also fields = [‘email’,‘password1’,‘password2’]
i can register users now by email