Thanks  for the help.  Though if I  remove  the declarations of the
first_name, last_name and email. Then  I will  not be able to see these  in
the Register form.. The fields password1 and password2 are just working
well and can be saved...  The issue  is on the  first_name, last_name and
email fields...  I can't save them using  the django form..

On Tue, Oct 30, 2018, 7:49 AM Manjunath <[email protected]> wrote:

> Remove declaration of first_name, last_name & email in Form calss.
> class SignUpForm(UserCreationForm):
>     class meta():
>         model = User
>         fields = ('username', 'first_name', 'last_name', 'email',
> 'password1', 'password2', )
>
>  And while Saving the form, follow below steps.
> if form.is_valid():
>    new_user = form.save(commit=False)
>    new_user.set_password(form.cleaned_data['password1'])
>       new_user.save()
>       # Your next steps
>
>
> I think you might need to declare password1 & password2 fields in your
> Form. Do Check.
>
>
>
> On Monday, October 29, 2018 at 10:04:39 PM UTC+5:30, Adrian Chipukuma
> wrote:
>>
>> Hello,
>>
>> I am new to Django and enjoying the learning process, unfortunately I am
>> stuck, and I need expert guidance.
>> I am learning through developing a User Authentication System. The system
>> is supposed to have a user registration functionality, login, user profile
>> editing and logout. I have managed to create the login, logout
>> functionalities and the registration functionality partly. The problem is
>> on the registration, I am only able to save the 'username and password '
>> using django forms, I have written the code for saving the first_name and
>> the last _name as well as email but it seems not to be working, only the
>> 'username and password' are saved.. I think I am missing something though
>> no error comes up. Please anyone to guide me. Thank you.
>> the code is as shown below:
>>
>>
>> views.py
>> from django.shortcuts import render, redirect
>> from django.contrib.auth import authenticate, login, logout
>> from django.contrib.auth.models import User
>> from django.contrib import auth, messages
>> from django.contrib.auth.forms import UserCreationForm
>> from django import forms
>> from .forms import SignUpForm
>>
>> def home(request):
>> return render(request, 'authenticate/home.html', {})
>>
>> def login_user(request):
>> if request.method == 'POST':
>> username = request.POST['username']
>> password = request.POST['password']
>> user = authenticate(request, username=username, password=password)
>> if user is not None:
>> login(request, user)
>> messages.success(request,('You have been logged in'))
>> return redirect('home')
>> else:
>> messages.success(request,('Error Logging in!'))
>> return redirect('login')
>> else:
>> return render(request, 'authenticate/login.html', {})
>>
>> def logout_user(request):
>> """if request.method =='POST':"""
>> logout(request)
>> messages.success(request,('You have been logged out'))
>> return redirect('home')
>>
>> def register_user(request):
>> if request.method =='POST':
>> form = SignUpForm(request.POST)
>> if form.is_valid():
>> form.save()
>> username = form.cleaned_data['username']
>> password = form.cleaned_data['password1']
>> user = authenticate(username=username, password=password)
>> login(request, user)
>> messages.success(request,(' Successfully Registered!'))
>> return redirect('home')
>> else:
>> form = SignUpForm()
>>
>> context = {'form': form }
>> return render(request, 'authenticate/register.html', context)
>>
>> urls.py
>>
>> from django.urls import path
>> from . import views
>> urlpatterns = [
>> path('', views.home, name="home"),
>> path('login/', views.login_user, name="login"),
>> path('logout/', views.logout_user, name='logout'),
>> path('register/', views.register_user, name='register'),
>> ]
>>
>> forms.py
>> from django.contrib.auth.forms import UserCreationForm, UserChangeForm
>> from django.contrib.auth.models import User
>> from django import forms
>>
>> class SignUpForm(UserCreationForm):
>> email = forms.EmailField()
>> first_name = forms.CharField(max_length=100,)
>> last_name = forms.CharField(max_length=100,)
>> class meta():
>> model = User
>> fields = ('username', 'first_name', 'last_name', 'email', 'password1',
>> 'password2', )
>>
>> register.html
>> {% extends 'authenticate/base.html'%}
>> {% block content%}
>> <h2>This is the Registration Page</h2>
>> <form method="POST" action="{% url 'register' %}">
>> {% csrf_token %}
>> {% if form.errors %}
>> <p>Your form has errors</p>
>> {{ error }}
>> {% endif %}
>> <div class="container">
>> {{ form.as_p }}
>> <input class="btn btn-primary" type="submit" value="Register">
>> <br />
>> </div>
>> </form>
>> {% endblock %}
>>
>>
>> Chao!
>>
>> Adrian
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> --
> 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 https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/9a58de45-95d1-4fc6-8948-0cc6994c85fc%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/9a58de45-95d1-4fc6-8948-0cc6994c85fc%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAHBk_L%2BWqvz3jFxBHCzS%3DpD9nPfX4DcAqqGxBE_htvh0tWDd3g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to