Авторизация пользователя в django и способы ее достижения, если модель пользователя по умолчанию расширена для создания Python

Программы на Python
Ответить
Anonymous
 Авторизация пользователя в django и способы ее достижения, если модель пользователя по умолчанию расширена для создания

Сообщение Anonymous »

Я работаю над созданием сайта для бронирования билетов в кино. Мне сказали реализовать авторизацию в проекте, чтобы только суперпользователь мог выполнять определенные действия в базе данных mongodb (например, добавлять фильмы и театры). Пожалуйста, помогите мне понять этот процесс и способы его достижения. А также я получаю сообщение об ошибке при создании суперпользователя.

Прилагаю код для справки.
  • models.py - ->

Код: Выделить всё

from .userManage import UserManager

class User(AbstractBaseUser):
id=models.AutoField(primary_key=True,null=False)
name=models.CharField(max_length=100)
email=models.CharField(max_length=60)
password=models.CharField(max_length=16)
username=models.CharField(max_length=20,unique=True)
mobileNumber=models.IntegerField()

USERNAME_FIELD = 'username'
objects=UserManager()

  • usermanage.py — этот файл Python находится в том же каталоге

Код: Выделить всё

from django.contrib.auth.models import BaseUserManager

class UserManager(BaseUserManager):
def create_user(self,username,password,**extra_fields):
if not username: return ValueError("Username should be provided")
user=self.model(username=username,**extra_fields)
user.set_password(password)
user.save()
return user

def create_superuser(self,username,password,**extra_fields):
extra_fields.setdefault('is_staff',True)
extra_fields.setdefault('is_superuser',True)
return self.create_user(username,password,**extra_fields)

Ошибка при создании суперпользователя, когда я ввел имя пользователя и пароль:
User() получил неожиданные аргументы ключевого слова: «is_staff», «is_superuser».

Подробнее здесь: https://stackoverflow.com/questions/778 ... -user-mode
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»