Size: a a a

Django [ru] #STAY HOME

2021 January 20

K

Kirill in Django [ru] #STAY HOME
Доброй ночи.
Помогите разобраться, как правильно реализовать аутентификацию по логину и емейлу одновременно.
Сейчас у меня баг на баге. В БД считается уникальным любое изменение регистра в емейле. Как сохранять в БД в нижнем регистре? Я сделал, как полагаю костыль (переопределил save метод)
Сейчас в БД не сохраняются повторные емейлы т.к временно приравниваю к логину
На уровне БД хотел написать COLLATE NOCASE , но либо я не правильно сделал, либо не работает
https://github.com/BeginnerA234/django-custom-user
источник

S

Stanley in Django [ru] #STAY HOME
Kirill
Доброй ночи.
Помогите разобраться, как правильно реализовать аутентификацию по логину и емейлу одновременно.
Сейчас у меня баг на баге. В БД считается уникальным любое изменение регистра в емейле. Как сохранять в БД в нижнем регистре? Я сделал, как полагаю костыль (переопределил save метод)
Сейчас в БД не сохраняются повторные емейлы т.к временно приравниваю к логину
На уровне БД хотел написать COLLATE NOCASE , но либо я не правильно сделал, либо не работает
https://github.com/BeginnerA234/django-custom-user
источник

K

Kirill in Django [ru] #STAY HOME
Завтра посмотрю, но я пробовал и через собственный менеджер и что-то не получалось
источник

N

Nire in Django [ru] #STAY HOME
Kirill
Доброй ночи.
Помогите разобраться, как правильно реализовать аутентификацию по логину и емейлу одновременно.
Сейчас у меня баг на баге. В БД считается уникальным любое изменение регистра в емейле. Как сохранять в БД в нижнем регистре? Я сделал, как полагаю костыль (переопределил save метод)
Сейчас в БД не сохраняются повторные емейлы т.к временно приравниваю к логину
На уровне БД хотел написать COLLATE NOCASE , но либо я не правильно сделал, либо не работает
https://github.com/BeginnerA234/django-custom-user
Через бекенды аутентификации
источник

N

Nire in Django [ru] #STAY HOME
Там ты несколько можешь указать
источник

N

Nire in Django [ru] #STAY HOME
Либо создать один бекенд, который regex проверяет на е-мейл валидность и затем либо мыло, либо юзернейм и пароль проверяет
источник

N

Nire in Django [ru] #STAY HOME
Менеджер тут не нужен, в данной ситуации
источник

N

Nire in Django [ru] #STAY HOME
Kirill
Доброй ночи.
Помогите разобраться, как правильно реализовать аутентификацию по логину и емейлу одновременно.
Сейчас у меня баг на баге. В БД считается уникальным любое изменение регистра в емейле. Как сохранять в БД в нижнем регистре? Я сделал, как полагаю костыль (переопределил save метод)
Сейчас в БД не сохраняются повторные емейлы т.к временно приравниваю к логину
На уровне БД хотел написать COLLATE NOCASE , но либо я не правильно сделал, либо не работает
https://github.com/BeginnerA234/django-custom-user
Немного смущает вопрос "по мейлу и юзернейму одновременно", оно значит что надо ОДНОВРЕМЕННО или НА ВЫБОР ?
источник

K

Kirill in Django [ru] #STAY HOME
На выбор
источник

K

Kirill in Django [ru] #STAY HOME
Возможность залогиниться пользователю по логину, либо емейлу на его выбор
источник

N

Nire in Django [ru] #STAY HOME
Kirill
Возможность залогиниться пользователю по логину, либо емейлу на его выбор
ну тогда смотри на бекенды аутентификации
источник

K

Kirill in Django [ru] #STAY HOME
У меня сейчас логинится по емейлу и по логину.
Вопрос в том, что у меня 2 одинаковых емейла в БД записываются (например qwert@gmal.com и QWERT@gmal.com)
источник

K

Kirill in Django [ru] #STAY HOME
Такого не должно быть
источник

K

Kirill in Django [ru] #STAY HOME
Не знаю как это пофиксить
источник

m

mr.INSOMNIA in Django [ru] #STAY HOME
Так пропиши в форме валидацию)
источник

A

Arbikts in Django [ru] #STAY HOME
Всем привет. Ребят. Может кто подсказать или скинуть ссылку на пример как сделать какой-то банлист в django-rest-framework. И например если юзер в банлисте как правильно оформить permission, чтобы он не мог добавлять новые "Посты"
источник

S

Stanley in Django [ru] #STAY HOME
Arbikts
Всем привет. Ребят. Может кто подсказать или скинуть ссылку на пример как сделать какой-то банлист в django-rest-framework. И например если юзер в банлисте как правильно оформить permission, чтобы он не мог добавлять новые "Посты"
есть поле у юзера is_active его в false можно ставить
https://docs.djangoproject.com/en/3.1/ref/contrib/auth/#django.contrib.auth.models.User.is_active
источник

K

Kirill in Django [ru] #STAY HOME
mr.INSOMNIA
Так пропиши в форме валидацию)
Я собирался так делать, но когда через админку начал тестировать видимо поплыл.
Ты имеешь ввиду достать из поста емейл, привести к нижнему регистру, проверить и сохранять/исключать ?
источник

A

Arbikts in Django [ru] #STAY HOME
Stanley
есть поле у юзера is_active его в false можно ставить
https://docs.djangoproject.com/en/3.1/ref/contrib/auth/#django.contrib.auth.models.User.is_active
Хорошо, а допустим если нужно забанить на определенное времья?
источник

m

mr.INSOMNIA in Django [ru] #STAY HOME
Kirill
Я собирался так делать, но когда через админку начал тестировать видимо поплыл.
Ты имеешь ввиду достать из поста емейл, привести к нижнему регистру, проверить и сохранять/исключать ?
Да, только делай это в методе clean у формы, так проще. В моделе в save методе тоже пропиши валидацию. Может и костыль, но никто не жалуется на эти 10+- строк кода
источник