我目前正在开发django的客人结账,因为我不想使用django-oscar来提供客人结账功能。我搜索并得出结论,它可以通过会话完成并且知道当用户登录系统时,行将在django_session表中创建。因此,我必须在django_session中为我的访客结账创建手动输入。任何人都可以请问如何以及哪种方式最好的方法呢?
答案 0 :(得分:0)
默认情况下将request.session['user']
设置为某个默认值(例如guest
)的最简单方法(您可以
try:
request.session['user']
except KeyError:
request.session['user'] = 'guest'
在每个视图函数的开头(通过键入一些URL可以直接访问的pr函数。这就是我一直以来所做的,它创造了奇迹;)。它实际上做的是检查用户是否已登录(request.session
具有密钥user
)(request.session
没有密钥user
)。用户登录时,将request.session['user']
设置为其用户名。
答案 1 :(得分:0)
您不想亲自触摸django_session
表。
相反,请阅读
它的要点是你可以使用
将事物存储在会话字典中request.session['foo'] = True
它们将使用cookie透明地保留。您可以类似地检索它们。