在我的 Django 项目中,我正在构建一个购物车系统。我想将购物车数据存储在 session 变量中,但我不知道在哪里初始化它。
我尝试过做这样的事情:
if 'cart' not in request.session:
request.session['cart'] = {}
在自定义上下文处理器中,但上下文处理器似乎不会修改 session 数据。我还能在哪里放置这样的初始化?我不想把它放在我从购物车获取值(value)的每个地方。
最佳答案
你可以把它放在 custom request middleware 的一 block 中,但说实话,我认为这有点矫枉过正了。当您在 View 函数中需要购物车时,初始化购物车可能会更容易。请注意,如果该值尚不存在,您可以使用 request.session.get
自动获取默认值。像这样的东西:
def my_view(request):
cart = request.session.get('cart', {})
# Do stuff with cart
request.session['cart'] = cart
关于python - 在哪里初始化 Django session 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4513676/