【问题标题】:How to identify and save anonymous user choices in django?如何在 django 中识别和保存匿名用户选择?
【发布时间】:2019-05-26 12:22:18
【问题描述】:
我有一个面向学生的测验应用程序。现在学生必须先在平台上进行抵抗,然后他们选择课程,相关的测验就会出现在他们面前。
但我想要的是:学生不必先注册。他们可以选择课程,然后参加一个测验,然后我会提示他们注册。我想要的是;当他们注册时,我可以将他们的课程等数据保存给匿名用户(他们在注册前选择)并将其链接到他们注册后将创建的帐户。
那么我如何才能知道他们在注册前选择了哪些课程以及注册后如何将其链接到用户?
最好通过 django rest 框架作为我们的 android 应用程序。
【问题讨论】:
标签:
django
django-rest-framework
【解决方案1】:
您可以根据会话密钥创建一个“假”用户。类似的东西
if not self.request.user.is_authenticated():
#create anonymous user
self.request.session.save()
username = str(self.request.session.session_key) + '@dummy.com'
try:
user = MyUser.objects.create_user(username, is_fake=True)
except:
user = MyUser.objects.get(email=username)
login(self.request, user)
然后,如果您有这种格式的用户名,您就知道他们不是真实用户,并提供有关登录等的常规选项。