【发布时间】:2012-08-29 13:15:41
【问题描述】:
我正在向我们的网站添加服务条款接受要求,并试图找出在 Django's authentication 框架内处理此问题的最佳方法。
为简单起见,这里有一个UserProfile 模型:
class UserProfile(models.Model):
user = models.OneToOneField(User)
accepted_tos_at = models.DateTimeField(default=None, editable=False, null=True)
所以基本上我想要做的是检查accepted_tos_at 不是None(或者实际上大于最后一次 TOS 修订的日期)。如果它通过了这个测试,那么我们可以正常验证,但如果它是None,除了login 和tos_display 之外的所有视图都无法访问。
我不知道你应该如何在全球范围内进行这项工作?我不想在我的每一个视图中添加user_passes_test 装饰器,同样我想避免在我的每一个视图中测试这个权限。必须有更清洁的方法。
【问题讨论】:
标签: django authentication