Невозможно войти в созданного пользователя после использования пользовательской модели
from django.db import models
from django.contrib.auth.models import AbstractUser,User
from django.utils.html import escape,mark_safe
# Create your models here.
class user(AbstractUser):
is_admin = models.BooleanField(default=False)
is_teacher = models.BooleanField(default=False)
is_student = models.BooleanField(default=False)
def login_view(request):
form = AuthenticationForm()
if request.method=='POST':
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username,password=password)
if user.is_admin==True:
login(request,user)
return HttpResponse(f"Welcome {username}")
else:
return HttpResponse('failled')
return render(request, 'login.html', {'form': form})
не могу войти в систему, используя пользователя, созданного суперпользователем. Пользователь создается, но при вызове или использовании показывает
создал пользователя с правами staff и superuser все еще не может войти
Думаю, вам нужно установить настройку AUTH_USER_MODEL. Также не совсем понятно, зачем вы переопределяете представление входа в систему. Вы можете использовать другую настройку LOGIN_REDIRECT_URL для установки URL, на который пользователь будет перенаправлен при успешном входе.
Вам нужно снять регистрацию встроенного User из админки, а затем зарегистрировать собственную модель пользователя в admin.py
from django.contrib import admin
from django.contrib.auth.models import User
from django.contrib.auth.admin import UserAdmin
from customauth.models import user
admin.site.register(user, UserAdmin)
# admin.site.unregister(User)
Возможно, вам придется подклассифицировать UserChangeForm, чтобы добавить свои пользовательские поля