@python_beginnersЭта группа больше не существует

Страница 343 из 1885
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, )))

ну пох

что мешает такое же сделать?

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
get_object_or_404
это проверка на уникальность значения

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
цыкуз дал элегантное решение

кстати

еще пару мест найду, что это заюзать

Janek
22.08.2016
15:40:22
user = User.objects.filter(username=...).first() if not user: ....
оно None безболезненно возвращает?

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
оно None безболезненно возвращает?
Да, вернёт None без всяких ошибок, если нет такого объекта

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

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

Andrey
22.08.2016
15:45:56
https://docs.python.org/3/faq/design.html#how-fast-are-exceptions
И что? Ты пишешь на интерпретируемом языке. Тебя интересует производительность?)

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

очень конструктивно

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

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
медленее любой обработки исключений, блядь
filter вообщет в where превращается, к исключениям он никакого отношения не имеет

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

Sergey
22.08.2016
15:49:20
Давай запретим языку работать с базой и сетью.
давайте кучу слипов вставим, чего уж там, слишком быстро всё

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

Google
Sergey
22.08.2016
15:49:53
но исключения, сука, медленные
я вообще не применительно к sql писал)

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 раз медленнее, чем обработка исключений?

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
А ничего, что у них нет нормальной альтернативы?
и да и нет, не стоит их пихать вообще везда, в некоторыз местах язык дает хорошую альтернативу вроде or или .get() или чего-то еще

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

Sergey
22.08.2016
15:58:31

Страница 343 из 1885

Эта группа больше не существует Эта группа больше не существует