Osama Mohamed
Osama Mohamed

Reputation: 1

I can't store first , last name and email in django admin panel

forms.py this is my form

from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
from .models import Profile

class UserSignUpForm(UserCreationForm):
    email = forms.EmailField()
    first_name = forms.CharField(max_length=50)
    last_name = forms.CharField(max_length=50)

    class Mate :
        model = User
        fields = ['username' , 'email' , 'first_name' , 'last_name' ,'password1' , 'password2']

views.py this is the Sign-Up Function

from django.shortcuts import render , redirect
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from .forms import UserSignUpForm
# Create your views here.

def SignUp(request):
    if request.method == 'POST':
        form = UserSignUpForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            messages.success(request, f'your account has be created ! Now Log In{username}!')
            return redirect('login')
    else:
        form = UserSignUpForm()
    return render(request, 'forms/SignUp.html' , {'form' : form})

I've seen a lot of tutorials and they're doing the same thing

Upvotes: 0

Views: 34

Answers (1)

Typo of class Mate : in UserSignUpForm. It should be class Meta :

class UserSignUpForm(UserCreationForm):
    email = forms.EmailField()
    first_name = forms.CharField(max_length=50)
    last_name = forms.CharField(max_length=50)

    class Meta :
        model = User
        fields = ['username' , 'email' , 'first_name' , 'last_name' ,'password1' , 'password2']

Upvotes: 1

Related Questions