问题描述
我在request.session.get('product_key').
有两个项目request.session.get('product_key').
我正在尝试删除一个产品。
m = request.session['product_key']
m.remove('768')
当我尝试从会话中删除一个产品时,它会从变量中删除,但不会从实际会话中删除。
当我打印时,它给了我一个产品,而我正在输入request.session.get('product_key')
它给了我两个产品。
那么,我怎样才能做到这一点?
编辑:
我不想删除完整的会话,我想从会话中删除一个变量,我在一个键名中有 2 个项目。 print(request.session['product_key']) = ['123','768']
1楼
尝试 :
del request.session['your key']
或者
m = request.session.pop('your key')
2楼
如果您修改会话值中的列表 - 而不是完全更改或替换该值 - Django 将不会自动知道它需要保存会话。 你需要明确地告诉它:
request.session.modified = True
请参阅有关的文档。
3楼
干得好;
request.session["your key"].pop(index of the element you want to remove)
request.session.modified = True