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

Страница 633 из 1885
V
26.10.2016
18:43:22
Igor
26.10.2016
18:43:34
нативной, не Telegram Desktop?

у меня мало того что бектики проебываются, так еще и эти сообщения отредактировать потом нельзя в принципе, блядь

Google
Igor
26.10.2016
18:44:11
Буду думать
чего тут думать, яснее выражаться надо, не pass, а pass1 :)

F
26.10.2016
18:44:18
Igor
26.10.2016
18:44:21
pass - это ключевое слово в питоне, которое ничего не делает

Zart
26.10.2016
18:44:27
мне просто интересно как он смог использовать зарезервированное слово языка под имя переменной

Igor
26.10.2016
18:44:29
и его нельзя перезаписать

Liyoto
26.10.2016
18:44:52
Igor
26.10.2016
18:44:56
чего ты злой такой :)

Zart
26.10.2016
18:46:28
я не злой, я охуевший

Igor
26.10.2016
18:46:42
s/вш/нн/

Liyoto
26.10.2016
18:46:57
?

`passwords = ('11' , 'qqq' , 'qwerty') login = input('\nВведите логин: ') pass1 = input('\nВведите пароль: ') while pass1 not in passwords: print('\nНеврный пароль для учетной записи') pass1 = input('Повторите пароль: ') else: print('\nHello world')`

так правильно ?

Google
Liyoto
26.10.2016
18:48:10
в этот раз все нормально получилось , но просто чето саомнительно мне когда переменная в while опять появляется

F
26.10.2016
18:48:14
ненене

Igor
26.10.2016
18:48:18
а чего тут сомнительного?

F
26.10.2016
18:48:27
бесконечный цикл?

Igor
26.10.2016
18:48:35
почему бесконечный?

F
26.10.2016
18:48:51
not in passwords, при этом в passwords значения не добавляются введенные

Igor
26.10.2016
18:48:56
pass1 = input('Повторите пароль: ') когда юзер введет, например, "11", условие "pass1 not in passwords" нарушится

ну да, а зачем?

F
26.10.2016
18:49:03
а это я вглаза ебусь

Igor
26.10.2016
18:49:03
мы проверяем наличие элемента в кортеже

:)

F
26.10.2016
18:49:07
они заполнены уже

Liyoto
26.10.2016
18:49:15
а чего тут сомнительного?
ну я думаю мб както по другому это все дело , не вписывая переменную , или так не бывает ? :D

бесконечный цикл?
при неправильном пароле опять повторяет цикл до тех пор пока правильно не напишу

F
26.10.2016
18:49:23
Reverse accessor for 'Dialog.first_user' clashes with reverse accessor for 'Dialog.second_user'. HINT: Add or change a related_name argument to the definition for 'Dialog.first_user' or 'Dialog.second_user'. такс такс такс

А как будет этот реверс аксессор выглядеть, с которым оно конфликтует?

(джанга)

Igor
26.10.2016
18:50:05
ну я думаю мб както по другому это все дело , не вписывая переменную , или так не бывает ? :D
ну ты вон выше пытался сделать, не объявляя переменную. получилось? :) а вообще да, наверное, можно так: while input('Введите пароль:') not in passwords: pass else: print('Привет!')

но я не уверен

Google
Zart
26.10.2016
18:50:26
не прокатит

ну в смысле если тебе пароль потом нужен

Igor
26.10.2016
18:50:44
прокатило :)

Igor
26.10.2016
18:50:51
но я думаю на уровне, когда человек использует input() для ввода пароля, это не так страшно!

F
26.10.2016
18:51:26
главное, что старается

Igor
26.10.2016
18:52:01
можно еще круто зашифровать в md5! и потом расшифровывать!

Zart
26.10.2016
18:52:14
ват

Igor
26.10.2016
18:52:20
:( я пошутить хотел

Igor
26.10.2016
18:52:29
захешировать, захешировать

и не md5, а bcrypt'ом с солью и перцем

ну я пока это ток знаю :)
я выше показал getpass, он пароль хотя бы на экране не отображает, так безопаснее :)

F
26.10.2016
18:56:30
так чет я туплю жоска

Igor
26.10.2016
18:56:40
чо там

F
26.10.2016
18:56:42
class Dialog(models.Model): first_user = models.ForeignKey('User',db_index=True) second_user = models.ForeignKey('User', db_index=True) last_message = models.DateTimeField(null=True, blank=True, db_index=True) они же форейн ключами должны быть?

не 1к1 поле?

Google
Igor
26.10.2016
18:57:05
не, зачем one-to-one

Igor
26.10.2016
18:57:07
да, фк

Zart
26.10.2016
18:57:18
всё хорошо, главное чтобы этим кодом потом реальный пароли не вводили 8)

Igor
26.10.2016
18:57:29
а ваще стоп

input() всегда вернет строку

Admin
ERROR: S client not available

F
26.10.2016
18:58:16
а, спс, тогда ща разберусь че он с релейтед нейм от меня хочет и начну апихи писать

Igor
26.10.2016
18:58:24
это тебе надо в массиве с перечислением паролей писать строки тоже, а не числа

Louis
26.10.2016
19:00:19
да, теперь все гут

Igor
26.10.2016
19:00:54
смотри, если ты в модели Dialog, то first_user = ForeignKey(User, related_name='first_dialog') second_user = ForeignKey(User, related_name='second_dialog') чтобы если тебе понадобилось бы взять igor = User.objects.get(username='iamigor'), ты мог сделать так: igor.first_dialog # вернется Dialog.objects.get(first_user=igor) igor.second_dialog # вернется Dialog.objects.get(second_user=igor)

я как-то хуево щас объяснил, но я туплю уже, ниче лучше в голову не приходит в качестве примера

блин, это ж ФК, он же many-to-one, там много объектов может быть доступно

поэтому правильнее related_name="dialogs" ))

но это хуйня какая-то тоже

блин, может правда лучше one-to-one

че-т я ступил

F
26.10.2016
19:03:02
тогда вроде прокатит твой пример

Google
F
26.10.2016
19:03:15
по идее раз уж там два 1к1 поля, то как раз норм должно быть

чтоб много диалогов было у всех)

Igor
26.10.2016
19:03:51
так много диалогов не будет, разве нет? one-to-one так и называется, что один объект может быть связан с другим только один раз

это как ForeignKey, только с проверкой на уникальность, грубо говоря

F
26.10.2016
19:04:13
ну да, но один юзер должен же с любым другим переписываться

Igor
26.10.2016
19:04:31
захочешь создать новый диалог - джанга пошлет тебя нахуй (точнее, БД пошлет тебя нахуй, а там уж джанга передаст все словечки)

F
26.10.2016
19:05:10
если 1к1 сделаю, то смогу тогда так проверять наличие диалога: if not igot.first_dialog and not igor.second_dialog %создать диалог%

почему пошлет?

Igor
26.10.2016
19:05:18
ну да, но один юзер должен же с любым другим переписываться
че-т да, вдвойне туплю. надо пиздовать спать идти :(

F
26.10.2016
19:07:32
вынужденно

чувствую себя тем доктором, который Франкенштейна собрал

Igor
26.10.2016
19:07:46
почему пошлет?
ну, если в таблице есть first_user, second_user user1, user2 user2, user3 а потом ты попытаешься добавить, скажем, user1, user4 то джанго/бд увидит, что у тебя повторяется user1 в столбце first_user и начнет агриться

Igor
26.10.2016
19:08:31
поэтому да, поэтому foreignkey все же

F
26.10.2016
19:08:58
и создаваться диалог будет один раз, при этом я жестко задам from_user тем, кто начал первый писать (пусть ему достанется первое поле в модели)

Igor
26.10.2016
19:08:59
произойдет смари почему есть диалог user1 и user2 есть диалог user3 и user4 ты хочешь создать диалог user1 и user4 что тебе? хуй тебе!

ну, ты, конечно, сможешь первернуть их местами

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

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