
Zart
22.08.2016
14:21:47
я полагаю что вы все не способны правильно сделать аутентификацию...

Denis
22.08.2016
14:22:51
Так ее и делать не надо, просто слегка подправить готовую

Janek
22.08.2016
14:23:51
Именно

[Anonymous]
22.08.2016
14:24:03
username = form_login.cleaned_data.get('username')
password = form_login.cleaned_data.get('password')
try:
user_byemail = User.objects.get(email=username)
user = auth.authenticate(username=user_byemail.username, password=password)
except ObjectDoesNotExist:
user = auth.authenticate(username=username, password=password)
if user and user.is_active:
auth.login(request, user)

Google

[Anonymous]
22.08.2016
14:24:08
как-то так получилось)

Janek
22.08.2016
14:24:12
Три ьактика вставить код?
вот аутентификацию так реализовал

Denis
22.08.2016
14:26:19
Фе

Janek
22.08.2016
14:26:48
бля
это регистрация

[Anonymous]
22.08.2016
14:26:57
ага

Janek
22.08.2016
14:27:18
вот

[Anonymous]
22.08.2016
14:27:57
??

Zart
22.08.2016
14:28:05
извентиляюсь, прочитал по диагонали 8\

[Anonymous]
22.08.2016
14:28:21
шо?)

Janek
22.08.2016
14:28:54
def check_log_in(request):
nickname = request.POST['nickname']
passw = request.POST['password']
user = authenticate(username=nickname, password=passw)
print(request.POST['password']+' password')
if user is not None:
# the password verified for the user
if user.is_active:
login(request, user)
request.session['member_id'] = user.id
return HttpResponseRedirect(reverse('soc:another_page', args=(user.id, )))
else:
return HttpResponseRedirect(reverse('soc:log_in_error', args=('ad', )))
вот

Google

Janek
22.08.2016
14:29:53
user = authenticate(username=nickname, password=passw)
вообще элементарно
мне нравится такая система

[Anonymous]
22.08.2016
14:33:10
там есть абстрактный класс юзера
а если его наследовать и переопределить всё?) чтобы мыло уникальным стало
или для управления полями модели user есть что-то другое?
в смысле атрибутами полей

Janek
22.08.2016
14:35:08
а чем плох перебор через фор?
или через .get?
если есть запись с таким имайлом, то пусть выдает ошибку
я так сделал с юзернэймами

[Anonymous]
22.08.2016
14:36:22

Janek
22.08.2016
14:36:30
хз
я на всякий случай проверку сделал

[Anonymous]
22.08.2016
14:36:45
Посмотри абстрактную модель, там уникально)

Janek
22.08.2016
14:37:05
u = User.objects.get(username = nickname)
if u:
error += 'n'
return HttpResponseRedirect(reverse('soc:auth_error', args = (error, )))
ну пох
что мешает такое же сделать?

Pavel
22.08.2016
15:27:53

Janek
22.08.2016
15:28:38
через try?

Google

Pavel
22.08.2016
15:31:00
через try?
User.objects.filter (username=...).count ()
Я бы так проверял.

Janek
22.08.2016
15:31:28
а чем такой вариант лучше?
чем плохо перехватывать исключения?
мне все равно нужен будет объект юзер

Pavel
22.08.2016
15:32:38

Denis
22.08.2016
15:32:42
get_object_or_404

Sergey
22.08.2016
15:32:46

Janek
22.08.2016
15:33:11

Pavel
22.08.2016
15:33:25

Cykooz
22.08.2016
15:34:48
user = User.objects.filter(username=...).first()
if not user:
....

Zart
22.08.2016
15:38:12

Andrey
22.08.2016
15:38:43

Janek
22.08.2016
15:38:51
цыкуз дал элегантное решение
кстати
еще пару мест найду, что это заюзать

Sergey
22.08.2016
15:39:25

Janek
22.08.2016
15:40:22

Sergey
22.08.2016
15:42:28
https://docs.python.org/3/faq/design.html#how-fast-are-exceptions

Cykooz
22.08.2016
15:44:31

Janek
22.08.2016
15:45:19
ништяк

Google

Janek
22.08.2016
15:45:28
улучшу так читаемость

Andrey
22.08.2016
15:45:56

Sergey
22.08.2016
15:46:17
Во-первых да, зачем делать еще медленнее? А во-вторых это было Зарту.
очень конструктивно

Zart
22.08.2016
15:46:45
потому что это даже не аргумент был

Andrey
22.08.2016
15:46:58

Admin
ERROR: S client not available

Zart
22.08.2016
15:47:03
User.objects.filter в разы медленее

Sergey
22.08.2016
15:47:03
гугл выдает достаточно других аргуметов с тестами

Andrey
22.08.2016
15:47:40

Sergey
22.08.2016
15:47:57

Zart
22.08.2016
15:48:08
медленее любой обработки исключений, блядь
экономить на пепельнице при покупке мерса
откуда вы такие аргументы вообще берете

Sergey
22.08.2016
15:48:49

Zart
22.08.2016
15:49:08
я к тому что это запрос к субд по сети

Sergey
22.08.2016
15:49:20

Zart
22.08.2016
15:49:23
но исключения, сука, медленные

Andrey
22.08.2016
15:49:33
Мне нечего ответить.

Google

Sergey
22.08.2016
15:49:53

Zart
22.08.2016
15:49:55
ну да. один шизофренический аргумент доказывать еще более ёбнутым

Andrey
22.08.2016
15:49:57
Я просто поражён ответом.
?

Sergey
22.08.2016
15:50:26
welcome

Andrey
22.08.2016
15:50:55
Ты понимаешь, что любой запрос куда-нибудь в 100500 раз медленнее, чем обработка исключений?

Sergey
22.08.2016
15:51:25

Andrey
22.08.2016
15:51:52

Sergey
22.08.2016
15:51:58
нет естественно

Andrey
22.08.2016
15:52:19
Тогда какая у тебя позиция?

Sergey
22.08.2016
15:53:07
Вопрос был "чем плохо использовать исключения". Я ответил, что "они медленные, этим плохо, например".

Zart
22.08.2016
15:53:42
это не аргумент ни разу

Andrey
22.08.2016
15:53:47
Потому что любой сахар языка замедляет его.

Sergey
22.08.2016
15:55:05

Andrey
22.08.2016
15:56:29
Потому что такой способ подавления исключений я вижу впервые.

Sergey
22.08.2016
15:58:31
Эта группа больше не существует