Django-allauth 如何禁止某些用户?

Django-allauth How to Ban Certain Users?

我正在为我的 Django 网络应用程序使用 django-allauth。如何在登录一段时间后禁止某些用户登录或限制某些行为?

我应该直接停用他们的帐户吗?有什么好的解决方案?

通常对于 django 身份验证,您会将用户对象的 is_active 属性设置为 False 并且用户将无法登录(例如进入 django admin)。但是您使用的是 allauth,因此只需设置 is_staff 属性就足以阻止他们进入 django admin 例如。

现在,如果您正在实施另一种类型的前端仪表板或需要设置用户登录方式的规则,我建议您使用 AccessMixins 如果您如果您使用的是 FBV,则使用 CBV 或 decorators。特别是 UserPassesTest mixinuser_passes_test 装饰器。使用它们,您可以检查用户是否遵守特定规则,然后允许他们登录或不登录。检查文档 here.