如何解决将数据在用户登录之前收集连接到用户帐户在用户登录之后-Django
我正在研究一个Django项目,当有人访问该网站时会进行测验。访客回答所有问题,然后生成结果。但是用户需要登录/注册才能查看结果。
当用户提交测验时,数据将存储在测验表中,该表具有用户模型的外键。
我的问题是,如何在用户登录或注册查看测验表对象时将其链接到用户帐户?
“”“
测验模型
class Quiz(models.Model):
ques2 = models.CharField(max_length=1000,choices=choices,default="",verbose_name = "I've always dreamed of")
ques3 = models.CharField(max_length=1000,verbose_name = "I prefer to")
ques4 = models.CharField(max_length=1000,verbose_name = "I want to earn")
ques9 = models.CharField(max_length=1000,blank=True,verbose_name = "How would you describe your personality?")
ques10 = models.CharField(max_length=1000,verbose_name = "What are your goals?")
result = models.ForeignKey(Moneymaker,on_delete= models.CASCADE,null=True,related_name='result')
user = models.ForeignKey(User,null=True)
“”“
解决方法
我认为最好使用 Django会话保存数据。当用户登录到站点时,他们的匿名会话将丢失,并为经过身份验证的用户创建一个新会话。如果您将项目存储在匿名会话中,则用户登录后需要保留该会话 在其中,您将必须将旧会话数据复制到新会话中。
您可以在登录之前通过检索会话数据来执行此操作
用户使用Django身份验证的login()
函数
系统,然后将其存储在会话中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。