Hi, I am creating a Django signup form through "User" model and "UserCreationForm" and customized the User model to accommodate single user defined field "contact".
However, the signal that I have written seems not to be working. Whenever, I am filling the form, I am getting below error: AttributeError at /auth/register/'User' object has no attribute 'profile' Full traceback log as below: Installed Applications:['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'phone_field', 'AUTHENTICATION']Installed Middleware:['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] Traceback (most recent call last): File "C:\Python38\lib\site-packages\django\core\handlers\exception.py", line 34, in inner response = get_response(request) File "C:\Python38\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response response = self.process_exception_by_middleware(e, request) File "C:\Python38\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "C:\Users\anshu\djago-project\SkoolSkill\AUTHENTICATION\views.py", line 50, in register_user save1 = form.save() File "C:\Python38\lib\site-packages\django\contrib\auth\forms.py", line 137, in save user.save() File "C:\Python38\lib\site-packages\django\contrib\auth\base_user.py", line 66, in save super().save(*args, **kwargs) File "C:\Python38\lib\site-packages\django\db\models\base.py", line 745, in save self.save_base(using=using, force_insert=force_insert, File "C:\Python38\lib\site-packages\django\db\models\base.py", line 793, in save_base post_save.send( File "C:\Python38\lib\site-packages\django\dispatch\dispatcher.py", line 173, in send return [ File "C:\Python38\lib\site-packages\django\dispatch\dispatcher.py", line 174, in <listcomp> (receiver, receiver(signal=self, sender=sender, **named)) File "C:\Users\anshu\djago-project\SkoolSkill\AUTHENTICATION\models.py", line 17, in save_user_profile instance.profile.save() Exception Type: AttributeError at /auth/register/Exception Value: 'User' object has no attribute 'profile' I have uploaded the project in google drive with below location link, just in case if somebody wishes to test it. https://drive.google.com/file/d/1COB3BBoRb95a85cLi9k1PdIYD3bmlnc0/view?usp=sharing My environment: Django==3.0.5 python 3.8.2 Not sure what is the mistake. Please help. models.py from django.db import modelsfrom django.contrib.auth.models import Userfrom django.db.models.signals import post_savefrom django.dispatch import receiver class SignUp(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) Contact = models.TextField(max_length=500, blank=True) @receiver(post_save, sender=User)def create_user_profile(sender, instance, created, **kwargs): if created: SignUp.objects.create(user=instance) @receiver(post_save, sender=User)def save_user_profile(sender, instance, **kwargs): instance.profile.save() forms.py from django.contrib.auth.forms import UserCreationFormfrom django.contrib.auth.models import Userfrom django import formsfrom .models import SignUp class SignUpForm(UserCreationForm): email = forms.EmailField() first_name = forms.CharField(max_length=100) last_name = forms.CharField(max_length=100)# phone = format() class Meta: model = User fields = ('username', 'first_name', 'last_name', 'email', 'password1', 'password2') class CustomSignUpPage(forms.ModelForm): Contact = forms.CharField(max_length=10) class Meta: model = SignUp fields = ('Contact', ) views.py from django.shortcuts import render, redirectfrom django.contrib.auth import authenticate, login, logoutfrom django.contrib import messages#from django.contrib.auth.forms import UserCreationFormfrom .forms import SignUpForm, CustomSignUpPage 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, ('login success')) return redirect('home') else: messages.success(request, ('error while login, please try again')) return redirect('login') else: return render(request, 'authenticate\login.html', {}) def logout_user(request): logout(request) messages.success(request, ('logout successful')) return redirect('home') def register_user(request): if request.method == "POST": form = SignUpForm(request.POST) cus_form = CustomSignUpPage(request.POST) if form.is_valid() and cus_form.is_valid(): save1 = form.save() save1.refresh_from_db() cus_form = CustomSignUpPage(request.POST, instance=request.save1.profile) cus_form.full_clean() cus_form.save() username = form.cleaned_data['username'] password = form.cleaned_data['password1'] user = authenticate(request, username=username, password=password) login(request, user) messages.success(request, f'Registration successful') return redirect('home') else: messages.error(request, f'Please correct the error below.') else: form = SignUpForm() cus_form = CustomSignUpPage() return render(request, 'authenticate\\register.html', context={'form': form, 'cus_form': cus_form}) Note: As per my understanding the two lines from the above code snippet which have been written in bold letters and red in color is the issue. However I could be completely wrong. Regards, Amitesh -- 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 django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/612672713.1526408.1587143764846%40mail.yahoo.com.