如何从django_session表中的session_key获取用户标识?

时间:2013-11-09 06:13:42

标签: django python-2.7 python-decorators

我有一个UserInfo表

 class UserInfo(models.Model):
  group = models.ForeignKey(Group)
  email = models.EmailField(null=False, blank=False, unique=True,
    validators=[validators.validate_email])
  passwd = models.TextField(null=False, blank=False)
  dob = models.DateField(null=True, blank=True)
  zipcode = models.CharField(max_length=10, blank=True)
  avatar = models.CharField(max_length=32, blank=True)
  status = models.BooleanField(default=True)         #Active or Inactive
  email_verified = models.BooleanField(default=False)

现在我想编写一个装饰器来检查用户是否已登录,然后再执行任何操作,如创建事件等。

  1. 我认为的一种方法是在用户登录时存储session_key,并获取该会话的用户ID,并与django_session表中的userid进行比较。
  2. 为了解决这个问题,我需要在django_session表中存储user_id如何做到这一点?

    1. 存储后如何从生成的会话ID中获取user_id?
    2. 如果您告诉我如何编写装饰器以检查用户是否已登录,那将会非常有用。

0 个答案:

没有答案