← пред | след →
NikolayCherniy 2022-07-01 20:42:43
One_of_the_Stoics 2022-07-01 20:42:28
Проверят наличие ключа в сесии
а как там тогда нет такого ключа?
One_of_the_Stoics 2022-07-01 20:43:07
wemakeweb 2022-07-01 20:27:23
Так ошибка в print же, до условия так и не дошло
NikolayCherniy 2022-07-01 20:43:36
One_of_the_Stoics 2022-07-01 20:43:07
Так ошибка в print же, до условия так и не дошло
https://t.me/pydjango/738313
Erik Arakelian in Django [ru] —
Telegramда, но если я принт уберу и просто оставлю del session… то тоже самое будет, проверка на if чисто потому что я вчера прочитал что это может помочь, но нифига)
One_of_the_Stoics 2022-07-01 20:44:15
NikolayCherniy 2022-07-01 20:43:36
https://t.me/pydjango/738313
Я это видел, но что толку то если KeyError
One_of_the_Stoics 2022-07-01 20:44:30
Интерпретатор не видит там ключ
NikolayCherniy 2022-07-01 20:44:45
но на строчку выше видит?
One_of_the_Stoics 2022-07-01 20:45:28
По его словам
One_of_the_Stoics 2022-07-01 20:46:22
wemakeweb 2022-07-01 20:33:05
https://dpaste.org/EpoGT
Где тут вообще этот ключ добавляться в сессию, может в другом месте, а может он добавляться после или никогда
NikolayCherniy 2022-07-01 20:48:04
One_of_the_Stoics 2022-07-01 20:46:22
Где тут вообще этот ключ добавляться в сессию, может в другом месте, а может он добавляться после или никогда
я просто изначально предположил что это список, а не дикт (потому что прозвучало массив) ну и это бы объяснило как что-то может быть в массиве, но не удалять по значению
wemakeweb 2022-07-01 20:48:07
One_of_the_Stoics 2022-07-01 20:46:22
Где тут вообще этот ключ добавляться в сессию, может в другом месте, а может он добавляться после или никогда
написал же вверху странице, что во вбюшках add_to_cart / cart_detail у меня есть часть кода которая создает cart_id в сессии. Часть кода в самом вверху
wemakeweb 2022-07-01 20:48:44
ща секунду, я с remove еще не проверил. Все на серваке, деплой передеплой и все дела
NikolayCherniy 2022-07-01 20:49:04
wemakeweb 2022-07-01 20:48:44
ща секунду, я с remove еще не проверил. Все на серваке, деплой передеплой и все дела
не, с диктом не сработает
One_of_the_Stoics 2022-07-01 20:51:15
wemakeweb 2022-07-01 20:48:07
написал же вверху странице, что во вбюшках add_to_cart / cart_detail у меня есть часть кода которая создает cart_id в сессии. Часть кода в самом вверху
Может ли быть так что ты обращаешься к ключу до того как ты его создаёшь?
One_of_the_Stoics 2022-07-01 20:51:38
Вот ты удалил ключ, а затем заново к нему вернулся
wemakeweb 2022-07-01 20:51:59
One_of_the_Stoics 2022-07-01 20:51:15
Может ли быть так что ты обращаешься к ключу до того как ты его создаёшь?
я думаю, что нужно дефолтное значения определить чтоб не было keyError или не париться и вообще flush сделать
One_of_the_Stoics 2022-07-01 20:52:36
del session. get(settings.CART_SESSION_ID, {})
wemakeweb 2022-07-01 20:52:44
One_of_the_Stoics 2022-07-01 20:51:15
Может ли быть так что ты обращаешься к ключу до того как ты его создаёшь?
не, такого не может
wemakeweb 2022-07-01 20:53:06
One_of_the_Stoics 2022-07-01 20:52:36
del session. get(settings.CART_SESSION_ID, {})
или так request.session.pop(settings.CART_SESSION_ID, None) ?
One_of_the_Stoics 2022-07-01 20:53:13
wemakeweb 2022-07-01 20:52:44
не, такого не может
Нет
One_of_the_Stoics 2022-07-01 20:53:29
wemakeweb 2022-07-01 20:53:06
или так request.session.pop(settings.CART_SESSION_ID, None) ?
По ключу ты получаешь словарь?
One_of_the_Stoics 2022-07-01 20:53:47
Логично что в случае отсутствия словаря вернуть пустой словарь
wemakeweb 2022-07-01 20:54:01
One_of_the_Stoics 2022-07-01 20:53:29
По ключу ты получаешь словарь?
получаю сгенерированный id для корзины
One_of_the_Stoics 2022-07-01 20:54:22
wemakeweb 2022-07-01 20:54:01
получаю сгенерированный id для корзины
Тогда ладно
wemakeweb 2022-07-01 20:54:41
One_of_the_Stoics 2022-07-01 20:54:22
Тогда ладно
ща попробуем
LUBASKIN_CODE 2022-07-01 20:56:14
нападение!
wemakeweb 2022-07-01 21:03:22
так, код то отработал, но че то в postman когда дернул cart_detail, то показалась та же корзина и пополнилась новым товаром когда дернул add_to_cart, а долджна была создаться новая корзина.
One_of_the_Stoics 2022-07-01 21:04:15
wemakeweb 2022-07-01 21:03:22
так, код то отработал, но че то в postman когда дернул cart_detail, то показалась та же корзина и пополнилась новым товаром когда дернул add_to_cart, а долджна была создаться новая корзина.
На самом деле не должна и знаешь почему?
wemakeweb 2022-07-01 21:04:30
One_of_the_Stoics 2022-07-01 21:04:15
На самом деле не должна и знаешь почему?
нет
One_of_the_Stoics 2022-07-01 21:04:53
Давай я, тебе расскажу, у тебя нет корзины там где ты её удаляешь пам пам
wemakeweb 2022-07-01 21:05:20
ниче не понял, пам пам
One_of_the_Stoics 2022-07-01 21:05:55
Используя метод который избегает KeyError ты не делаешь так что ключ появляется просто у тебя нет этого исключения, к ключа как небыло так и нет пам пам
One_of_the_Stoics 2022-07-01 21:06:31
Пропиши session[cart_id]
One_of_the_Stoics 2022-07-01 21:06:41
Вместо cart_id ты понял
One_of_the_Stoics 2022-07-01 21:07:04
Или лучше так print(session.keys())
wemakeweb 2022-07-01 21:08:11
One_of_the_Stoics 2022-07-01 21:05:55
Используя метод который избегает KeyError ты не делаешь так что ключ появляется просто у тебя нет этого исключения, к ключа как небыло так и нет пам пам
давайте по порядку , пам пам. Я поднял сервак, чтобы проврить http-уведомления от яндекс денег после оплаты. Я через postman с хостом сервака работаю и создаю корзины и заказы. При чекауте я формирую ссылку для оплаты, оплачиваю и потом яндекс дергает мою вьюшку и там я уже в конце чищу сессию
One_of_the_Stoics 2022-07-01 21:08:46
wemakeweb 2022-07-01 21:08:11
давайте по порядку , пам пам. Я поднял сервак, чтобы проврить http-уведомления от яндекс денег после оплаты. Я через postman с хостом сервака работаю и создаю корзины и заказы. При чекауте я формирую ссылку для оплаты, оплачиваю и потом яндекс дергает мою вьюшку и там я уже в конце чищу сессию
Распечатай все ключи сессии
One_of_the_Stoics 2022-07-01 21:09:24
Или пары ключ значения, посмотри есть ли там id корзины вообще
wemakeweb 2022-07-01 21:11:33
походу я понял. Эту вьюшке дергает сам яндекс, отдельно от меня или покупателя. Там соответсвенно со стороны Яндекса ниче не создается и поэтому в сесии ниче и нету. Вот дела. Че теперь? как тогда сессию чистить при успешной оплате))
One_of_the_Stoics 2022-07-01 21:12:42
wemakeweb 2022-07-01 21:11:33
походу я понял. Эту вьюшке дергает сам яндекс, отдельно от меня или покупателя. Там соответсвенно со стороны Яндекса ниче не создается и поэтому в сесии ниче и нету. Вот дела. Че теперь? как тогда сессию чистить при успешной оплате))
Так если нечего чистить, то зачем?
wemakeweb 2022-07-01 21:15:12
One_of_the_Stoics 2022-07-01 21:12:42
Так если нечего чистить, то зачем?
чтобы потом человек новую корзину и новый заказ создал. Там все связаано. Есть сущность Cart, есть Order. cart как foreignkey поле в Order, а так же foreignkey user и session_id. Соответсвенно елси новый session_id, то новая корзина, а те старые просто теперь как история заказов
One_of_the_Stoics 2022-07-01 21:15:58
wemakeweb 2022-07-01 21:15:12
чтобы потом человек новую корзину и новый заказ создал. Там все связаано. Есть сущность Cart, есть Order. cart как foreignkey поле в Order, а так же foreignkey user и session_id. Соответсвенно елси новый session_id, то новая корзина, а те старые просто теперь как история заказов
Так её же и так нет в сесии, то зачем del session?
wemakeweb 2022-07-01 21:17:05
One_of_the_Stoics 2022-07-01 21:15:58
Так её же и так нет в сесии, то зачем del session?
она cart_id есть в сесии у меня на клиенте или в postman. Это у вебхук яндекса нету сессии
One_of_the_Stoics 2022-07-01 21:17:47
wemakeweb 2022-07-01 21:17:05
она cart_id есть в сесии у меня на клиенте или в postman. Это у вебхук яндекса нету сессии
Так на клиенте и удали, но Django про это во всяком случае ничего не знает
wemakeweb 2022-07-01 21:19:02
One_of_the_Stoics 2022-07-01 21:17:47
Так на клиенте и удали, но Django про это во всяком случае ничего не знает
на фронте чистить сессию после оформления заказа? ну да, че нет то. Спасибо, я что-то не догодался, но до фронта еще много кода правда)
wemakeweb 2022-07-01 21:19:32
получается до фронта я не проверю что все работае как надо)
One_of_the_Stoics 2022-07-01 21:19:57
wemakeweb 2022-07-01 21:19:02
на фронте чистить сессию после оформления заказа? ну да, че нет то. Спасибо, я что-то не догодался, но до фронта еще много кода правда)
Так ты корзину в localstorage храншь как я понял или в куках?
One_of_the_Stoics 2022-07-01 21:20:50
С другой стороны у тебя есть модель Cart
Я немного запутался что у тебя там если честно.
wemakeweb 2022-07-01 21:21:11
One_of_the_Stoics 2022-07-01 21:19:57
Так ты корзину в localstorage храншь как я понял или в куках?
в бд
arttomaz 2022-07-01 21:22:51
скажите а какие риски если на небольших проектах 1000-2000 отправок использовать Thread вместо redis/celery?
Thread(target = function, args=args, kwargs=kwargs)
Задержек нет. Скажите про минусы Thread…
Stan 2022-07-01 21:24:14
arttomaz 2022-07-01 21:22:51
скажите а какие риски если на небольших проектах 1000-2000 отправок использовать Thread вместо redis/celery?
Thread(target = function, args=args, kwargs=kwargs)
Задержек нет. Скажите про минусы Thread…
Т.е если отправка будет 10 минут то все в порядке?
← пред | след →