django app逻辑的提示

时间:2011-08-28 14:18:48

标签: django django-sessions django-users

我正在学习Django,因此我正在开发下面描述的应用程序。

此应用程序允许用户(经过身份验证和匿名)向其他用户发送消息。

经过身份验证的用户可以发送消息,并且可以像使用此功能的所有应用程序一样跟踪所有消息。 (例如Facebook消息)

问题是匿名用户。我想匿名用户可以向其他用户发送消息,但他可以跟踪他的消息。用户还可以回复匿名用户的消息,但如果匿名用户丢失了会话,他的消息也会丢失。

问题是,我如何仅为会话管理匿名用户及其消息?

1 个答案:

答案 0 :(得分:1)

Django支持匿名会话。

如果您的应用程序相对简单(听起来像是这样),我会执行以下操作:

  1. 创建标准的Django用户个人资料模型并将其链接到用户消息,但不要使用OneToOne连接到用户。
  2. 使用数据库支持的会话(https://docs.djangoproject.com/en/dev/topics/http/sessions/#using-database-backed-sessions)
  3. 为匿名用户和商店创建临时用户个人资料模型 他们在会话中的临时个人资料ID。
  4. 每天删除所有没有用户AND的个人资料对象 其id不在会话表中。一个简单的方法(以及我将要做的)是在配置文件上创建一个创建日期/时间字段,只删除两周或更久前创建的任何配置文件,并且具有空用户字段。我只是crontab一个django管理命令。
  5. 很酷的是,如果有人在匿名使用该应用程序后注册了一段时间,您可以使用他们的临时个人资料作为他们的个人资料并保留他们的消息。