django

时间:2017-08-31 06:01:35

标签: django python-2.7 shopping-cart

我目前正在开发django的客人结账,因为我不想使用django-oscar来提供客人结账功能。我搜索并得出结论,它可以通过会话完成并且知道当用户登录系统时,行将在django_session表中创建。因此,我必须在django_session中为我的访客结账创建手动输入。任何人都可以请问如何以及哪种方式最好的方法呢?

2 个答案:

答案 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透明地保留。您可以类似地检索它们。