Size: a a a

Django [ru] #STAY HOME

2020 September 14

S

Shodmon in Django [ru] #STAY HOME
По мне
1. Если вам важно соблюдать сложность пароля, то на беке его проверка тоже должна быть, как и проверка на соответствие, вы же будете по первому или второму записывать
2. А с этим не понятно, т.е вы можете там же создать юзера и профили если необходимо, а вот что с супером зачем оно там не могу понять?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Shodmon
По мне
1. Если вам важно соблюдать сложность пароля, то на беке его проверка тоже должна быть, как и проверка на соответствие, вы же будете по первому или второму записывать
2. А с этим не понятно, т.е вы можете там же создать юзера и профили если необходимо, а вот что с супером зачем оно там не могу понять?
по первому я про то чтобы пользователь вводил пароль два раза, чтобы не ошибится при вводе. Но я думаю что это все же проверка для пользователя, если он как-то обойдет и отправит один пароль и ошибется, он в общем-то сам себе злобный буратино.
по второму имею ввиду такое:
validated_data['password'] = make_password(validated_data['password'])
return super().create(validated_data)

например. Просто если есть уже метод у родителя, обычно не хочется переписывать его с нуля, мало ли там какая еще проверка идет, какие сайдэффекты можно оверрайдом себе поиметь на пустом месте)
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Nikolay Cherniy
по первому я про то чтобы пользователь вводил пароль два раза, чтобы не ошибится при вводе. Но я думаю что это все же проверка для пользователя, если он как-то обойдет и отправит один пароль и ошибется, он в общем-то сам себе злобный буратино.
по второму имею ввиду такое:
validated_data['password'] = make_password(validated_data['password'])
return super().create(validated_data)

например. Просто если есть уже метод у родителя, обычно не хочется переписывать его с нуля, мало ли там какая еще проверка идет, какие сайдэффекты можно оверрайдом себе поиметь на пустом месте)
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
под
> Или сначала супер, а потом set_password?
я это и имел ввиду, но решение кажется не эрганомичным, потому что получается что мы два раза записываем пароль, первый раз не хэшированный
источник

A

Andrey in Django [ru] #STAY HOME
Nikolay Cherniy
под
> Или сначала супер, а потом set_password?
я это и имел ввиду, но решение кажется не эрганомичным, потому что получается что мы два раза записываем пароль, первый раз не хэшированный
set_password не делает запись
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Andrey
set_password не делает запись
а, все, увидел set_password решил что так же через super) тогда там два .save() ну а так не понятно зачем сначала create, а затем set_password когда можно сразу create_user()
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Nikolay Cherniy
под
> Или сначала супер, а потом set_password?
я это и имел ввиду, но решение кажется не эрганомичным, потому что получается что мы два раза записываем пароль, первый раз не хэшированный
Всмысле 2 раза?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Не выходи из комнаты.
Всмысле 2 раза?
выше ответил же)
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Nikolay Cherniy
а, все, увидел set_password решил что так же через super) тогда там два .save() ну а так не понятно зачем сначала create, а затем set_password когда можно сразу create_user()
set_password создает хэш и приравнивает его к password, по сути, потом уже идёт create/save
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Покопайся в исходниках
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Не выходи из комнаты.
set_password создает хэш и приравнивает его к password, по сути, потом уже идёт create/save
а create_user делает уже все это за тебя 😉
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Надо глянуть
источник

N

Nikolay.O in Django [ru] #STAY HOME
всем привет. Как можно открыть модалку после редитекта на предыдущую страницу ? Не используя url параметр. Через данные из session ?
источник

S

Shodmon in Django [ru] #STAY HOME
Nikolay Cherniy
а, все, увидел set_password решил что так же через super) тогда там два .save() ну а так не понятно зачем сначала create, а затем set_password когда можно сразу create_user()
За креате юзер, если он подходит по вашим нуждам

Он вроде требует 3 параметра
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Shodmon
За креате юзер, если он подходит по вашим нуждам

Он вроде требует 3 параметра
ну я пока тоже на нем остановился, работает, просто интересно кто как реализует)
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Nikolay Cherniy
а create_user делает уже все это за тебя 😉
По сути, да. Если подходит по параметрам, то create_user
источник

S

Shodmon in Django [ru] #STAY HOME
Nikolay.O
всем привет. Как можно открыть модалку после редитекта на предыдущую страницу ? Не используя url параметр. Через данные из session ?
В темплейте ищешь свой параметр по сессии и исходя из него и выдаешь модалку
Так же как и с параметром из юрл
источник

S

Shodmon in Django [ru] #STAY HOME
Не выходи из комнаты.
По сути, да. Если подходит по параметрам, то create_user
Т.е если у тебя кастомный юзер, то ты один фиг его переопределяешь по идее
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Shodmon
Т.е если у тебя кастомный юзер, то ты один фиг его переопределяешь по идее
Если дефолтный usermanager, то не нужно переопределять, вроде
https://github.com/django/django/blob/master/django/contrib/auth/models.py#L149
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
ок, остановились на этом, а апдейт как? проверяю на ключ пассворд и его через set_password?
источник