【发布时间】:2011-05-29 15:49:15
【问题描述】:
在我的 Django 项目中,我正在构建一个购物车系统。我想将购物车数据存储在会话变量中,但我不知道在哪里初始化它。
我尝试过这样做:
if 'cart' not in request.session:
request.session['cart'] = {}
在自定义上下文处理器中,但上下文处理器似乎不会修改会话数据。我还能在哪里进行这样的初始化?我不想把它放在我从购物车中获取价值的每个地方。
【问题讨论】:
-
上下文处理器将仅针对使用 RequestContext 呈现的模板触发。您确定要传递 RequestContext 而不是简单的 dict 或 Context 对象吗?这对我有用。
-
这让我很困惑,因为是的,我确保我传递了一个 RequestContext。事实上,上下文处理器中的其他代码正在运行,但初始化代码却没有。也许我错过了别的东西。无论如何,其他两种解决方案都有效,所以我将使用其中一种。