2012-07-24 32 views
1

如果有人愿意帮忙,我需要一些建议/想法:我有一个用于处理图片的JavaScript界面​​。基本上是关于移动照片。完成后,图像的位置将保存到Django表单中,然后保存为数据库,并将所有者保存为当前用户。现在诀窍是,我希望能够允许非注册用户使用此界面进行游戏,然后如果他们喜欢保存的结果并将其重定向到帐户注册页面,那么只有当表单实际上与他们的用户一起保存时作为所有者。django为尚未注册的用户保存表格

现在想到的是在会话中保留表单的值,但我不知道一旦匿名用户注册并成为另一个用户会发生什么情况。我也在考虑在注册过程中使用'next'参数,URL中填充了get参数,这些参数是表单的内容,但是我不知道userena是否准备好允许这样做。欢迎任何关于此的灯光。

回答

1

保存没有用户的对象并在会话(或(签名)的cookie中存储该对象的引用。如果用户注册,则用新创建的用户更新所有对象。

+0

这就是我最终做的事情,我将对象传递给会话并将其作为所有者分配给新用户。 – Bastian 2012-07-25 14:06:26

2

好吧,我们在我们的网站上做了类似的事情。 当未注册的用户附上照片时,我们将对象保存到数据库中,并分配用户用表单来到页面时生成的唯一散列。当用户点击提交时,我们在url中传递这个散列值,并在下一步中,当用户想要注册时,我们只需通过这个散列值从数据库中获取对象并将user_id赋值给它们。

另外,我们有一个cron作业,这不清理并删除所有失物

附:对不起,我的英语我希望你能明白我的观点

+0

谢谢,不用担心你的英语,我完全理解你的观点,好主意。 – Bastian 2012-07-24 10:57:12

1

另一种方法是将数据存储在浏览器中(html5 localstorage和fallback等),并且只有在用户注册后才将其插入到数据库中。您需要确保这两件事发生在同一个浏览器的“实例”内,但在服务器端更容易。

+0

谢谢,好主意。但实际上我没有太多的前端,我宁愿做服务器端。我绝对需要学习html5 :) – Bastian 2012-07-26 11:27:52