Так ты корзину в localstorage храншь как я понял или в куках?

|
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 минут то все в порядке?

|