Hello, I would like to remove the labels in my sign-in form and just have placeholders in the text fields. Its working for my sing up form but for some reason not for my sign-in form. Below is my forms.py, my views.py, and my models.py. I think its because I'm using Django's auth view for the sign-in but have my own view for the sign up. I'm new to django and not sure where the sign-in view is or how to change the form to use my UserLoginForm. Thanks for your help
#forms.py from django.contrib.auth import get_user_model from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.forms import AuthenticationForm class UserCreateForm(UserCreationForm): class Meta: fields = ("first_name", "last_name", "email", "username", "password1", "password2") model = get_user_model() def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields["first_name"].label = '' self.fields["first_name"].widget.attrs["placeholder"] = "First Name" self.fields["last_name"].label = '' self.fields["last_name"].widget.attrs["placeholder"] = "Last Name" self.fields["email"].label = '' self.fields["email"].widget.attrs["placeholder"] = "Email" self.fields["username"].label = '' self.fields["username"].widget.attrs["placeholder"] = "Username" self.fields["password1"].label = '' self.fields["password1"].widget.attrs["placeholder"] = "Password" self.fields["password2"].label = '' self.fields["password2"].widget.attrs["placeholder"] = "Confirm Password" class UserLoginForm(AuthenticationForm): class Meta: fields = ("email", "password") model = get_user_model() def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields["email"].label = '' self.fields["email"].widget.attrs["placeholder"] = "Email" self.fields["password"].label = '' self.fields["password"].widget.attrs["placeholder"] = "Password" #views.py from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth import login, logout from django.contrib.auth.forms import AuthenticationForm from django.core.urlresolvers import reverse_lazy from django.views import generic #for FOrmView from . import forms from .models import * from django.views.generic import ( ListView, DetailView, CreateView, UpdateView, DeleteView ) # Create your views here. ''' class LoginView(generic.FormView): form_class = AuthenticationForm success_url = reverse_lazy("dashboard:dashboard") template_name = "accounts/login.html" def get_form(self, form_class=None): if form_class is None: form_class = self.get_form_class() return form_class(self.request, **self.get_form_kwargs()) def form_valid(self, form): login(self.request, form.get_user()) return super().form_valid(form) ''' class LogoutView(generic.RedirectView): url = reverse_lazy("login") def get(self, request, *args, **kwargs): logout(request) return super().get(request, *args, **kwargs) class SignUpView(generic.CreateView): form_class = forms.UserCreateForm success_url = reverse_lazy("login") template_name = "accounts/signup.html" class UserListView(LoginRequiredMixin, ListView): context_object_name = "users" model = User class UserDetailView(LoginRequiredMixin, DetailView): model = User class UserUpdateView(LoginRequiredMixin, UpdateView): model = User #models.py from django.contrib.auth.models import ( AbstractBaseUser, BaseUserManager, PermissionsMixin ) from django.db import models from django.utils import timezone #from django.core.mail import send_mail # Create your models here. class UserManager(BaseUserManager): def create_user(self, first_name, last_name, email, username, password): if not first_name: raise ValueError("You must enter your first name") if not last_name: raise ValueError("You must enter your last name") if not email: raise ValueError("You must enter an email address") if not password: raise ValueError("You must create a password") user = self.model( first_name = first_name, last_name = last_name, email = self.normalize_email(email), username = username ) user.set_password(password) user.save() return user def create_superuser(self, first_name, last_name, email, username, password): user = self.create_user( first_name, last_name, email, username, password ) user.is_staff = True user.is_superuser = True user.save() return user class User(AbstractBaseUser, PermissionsMixin): first_name = models.CharField(max_length=50) last_name = models.CharField(max_length=50) email = models.EmailField(unique=True) username = models.CharField(max_length=50, unique=True) bio = models.CharField(max_length=255, blank=True, default="") title = models.CharField(max_length=100, blank=True, default="") prof_image = models.ImageField(blank=True, null=True) digital_sig = models.ImageField(blank=True, null=True) date_joined = models.DateTimeField(default=timezone.now) last_login = models.DateTimeField(null=True) is_active = models.BooleanField(default=True) is_staff = models.BooleanField(default=False) is_superuser = models.BooleanField(default=False) objects = UserManager() USERNAME_FIELD = "email" REQUIRED_FIELDS = ["first_name", "last_name"] def __str__(self): return self.username def get_short_name(self): return self.username def get_long_name(self): return"{} (@{})".format(self.first_name, self.last_name) -- 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 post to this group, send email to django-users@googlegroups.com. 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/cf782671-a33b-4aea-9fd5-f5931321eaaa%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.