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

时间:2018-09-24 10:23:40

标签: python django

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

3 个答案:

答案 0 :(得分:1)

尝试:

del request.session['your key']

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

答案 1 :(得分:1)

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

request.session.modified = True

请参阅When sessions are saved上的文档。

答案 2 :(得分:0)

您在这里;

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