title: AttributeError: module Django.contrib.auth.views has no attribute
body: <p>In my Django app useraccounts, I created a Sign-Up form and a model for my Sign-up. However, when I went to run python manage.py makemigrations, I encounter the error: AttributeError: module Django.contrib.auth.views has no attribute 'registration'. Secondly, am I coding the SignUpForm in forms.py correctly? I did not want to use the User model in models because it would request username and I didn't want my website to ask for a username. </p>
  
  <p>Here is my code:</p>
  
  <p>models.py</p>
  
  <pre><code>from django.db import models
  from django.db.models.signals import post_save
  from django.dispatch import receiver
  from django.contrib.auth.models import User
  
  class UserProfile(models.Model):
      first_name = models.CharField(max_length=150)
      last_name =  models.CharField(max_length=150)
      email = models.EmailField(max_length=150)
      birth_date = models.DateField()
      password = models.CharField(max_length=150)
  
  @receiver(post_save, sender=User)
  def update_user_profile(sender, instance, created, **kwargs):
      if created:
          UserProfile.objects.create(user=instance)
      instance.profile.save()
  </code></pre>
  
  <p>forms.py</p>
  
  <pre><code>from django.forms import forms
  from django.contrib.auth.models import User
  from django.contrib.auth.forms import UserCreationForm
  from useraccounts.models import UserProfile
  
  class SignUpForm(UserCreationForm):
  
      class Meta:
          model = User
  
          fields = ('first_name',
                    'last_name',
                    'email',
                    'password1',
                    'password2', )
  </code></pre>
  
  <p>views.py</p>
  
  <pre><code>from django.shortcuts import render, redirect
  from django.contrib.auth import login, authenticate
  from useraccounts.forms import SignUpForm
  
  # Create your views here.
  def home(request):
      return render(request, 'useraccounts/home.html')
  
  def login(request):
      return render(request, 'useraccounts/login.html')
  
  def registration(request):
      if request.method == 'POST':
          form = SignUpForm(request.POST)
          if form.is_valid():
              user = form.save()
              user.refresh_from_db()
              user.profile.birth_date = form.cleaned_data.get('birth_date')
              user.save()
              raw_password = form.cleaned_data.get('password1')
              user = authenticate(password=raw_password)
              login(request, user)
              return redirect('home')
          else:
              form = SignUpForm()
          return render(request, 'registration.html', {'form': form})
  </code></pre>
  
  <p>urls.py</p>
  
  <pre><code>from django.conf.urls import url
  from . import views
  from django.contrib.auth import views as auth_views
  
  urlpatterns = [
  
      url(r'^$', views.home),
      url(r'^login/$', auth_views.login, {'template_name': 'useraccounts/login.html'}, name='login'),
      url(r'^logout/$', auth_views.logout, {'template_name': 'useraccounts/logout.html'}, name='logout'),
      url(r'^registration/$', auth_views.registration, {'template_name': 'useraccounts/registration.html'}, name='registration'),
  
  ]
  </code></pre>