170 похожих чатов

Подскажите пожалуйста я могу разделить авторизацию в джанго отдельном от

стандартной? Без использования AbstractUser, или User?
А просто создать отдельную модель для авторизации пользователей только на сайте (не в админку)
class Expert(models.Model):
full_name = models.CharField(max_length=255, blank=True, null=True, verbose_name='Имя, Фамилия')
email = models.EmailField(max_length=255, null=True, blank=True, verbose_name='Email', unique=True)
phone = models.CharField(max_length=255, null=True, blank=True, verbose_name='Номер телефона')
image = ThumbnailerImageField(verbose_name='Фото профиля')
roles = models.ManyToManyField(Role, verbose_name='Роли')

created_at = models.DateField(auto_now_add=True, verbose_name='Дата создания')

def role(self):
return ",\n".join([str(r) for r in self.roles.all()])

def __str__(self):
return f"{self.full_name}"

class Meta:
verbose_name_plural = 'Специалисты'

11 ответов

32 просмотра

по идеи джанго не обязывает делать авторизацию только так

Borys- Автор вопроса

Насколько я правильно понимаю, если делать через AbstractUser, AbstractBaseUser и пользователь будет логинится на сайте, то это будет же значить что он как бы и в админку попал?

не знаю, я не большой эксперт джанго

Borys- Автор вопроса

В гугле одни примеры по изменению стандартной модели авторизации для админа, может подскажете где можно поискать примеры создания подобной функциональности с нуля? В кратце: 1. Есть админка (стандартные набор Users, Groups) 2. Добавил отдельную модель Experts, там я хочу заводить с админки новых пользователей у которых на фронте будет личный кабинет (т.е. поля такие как мыло пароль и т д должны быть в этой новой модели) 3. На сайте пользователю доступна только авторизация, т.е идентифицировать должно добавленных специалистов по email адресу.

какой тип авторизации планируешь использовать?

Borys- Автор вопроса

через email и пароль

тоесть, пользователь вводит имейл и пароль, и если всё ок - его пускает на сайт, да?

Borys- Автор вопроса

Да

получается тебе нужно как-то сравнить введённые данные и те данные которые есть в базе данных не знаю как это лучше всего делать в джанго, но, по идеи выглядит так есть модель у которой есть поля имейл и пароль на эндпоинт приходит запрос, в теле которого есть данные для авторизации дальше нужно написать метод который будет идти в базу, брать нужного юзера и сравнивать данные

тогда чем не угодили реализации “которые везде"?

Borys- Автор вопроса

Если я переопределю стандартную авторизацию допустим с логина на email, то оно же зацепит админку

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта