当前位置: 代码迷 >> python >> 如何从 Django 会话中删除项目?
  详细解决方案

如何从 Django 会话中删除项目?

热度:29   发布时间:2023-06-27 21:19:50.0

我在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']

尝试 :

del request.session['your key']

或者

m = request.session.pop('your key')

如果您修改会话值中的列表 - 而不是完全更改或替换该值 - Django 将不会自动知道它需要保存会话。 你需要明确地告诉它:

request.session.modified = True

请参阅有关的文档。

干得好;

request.session["your key"].pop(index of the element you want to remove)
request.session.modified = True