Django应用程序中不同用户类别的访问受限

Django应用程序中不同用户类别的访问受限,django,Django,我对django框架有些陌生,所以如果这个问题不合适,请原谅 我有一个django应用程序,其中我使用django提供的内置User模型来存储用户详细信息。我需要只允许付费用户访问应用程序的某些功能。我有另一个激活模型,它存储一个布尔标志,指示这是免费用户还是付费用户。此激活型号将用户作为外键 现在,我需要在我的模板上下文中访问这个布尔标志。我认为不合适的方法是在每一个需要的上下文响应中添加这一点。但这可能是一个糟糕的设计,需要对现有代码进行重大修改。是否有一种方法可以访问此文件,而不必在需要的

我对django框架有些陌生,所以如果这个问题不合适,请原谅

我有一个django应用程序,其中我使用django提供的内置
User
模型来存储用户详细信息。我需要只允许付费用户访问应用程序的某些功能。我有另一个
激活
模型,它存储一个布尔标志,指示这是免费用户还是付费用户。此
激活
型号将用户作为外键

现在,我需要在我的模板
上下文中访问这个布尔标志。我认为不合适的方法是在每一个需要的上下文响应中添加这一点。但这可能是一个糟糕的设计,需要对现有代码进行重大修改。是否有一种方法可以访问此文件,而不必在需要的每个上下文中发送此标志,类似于访问用户模型以检查用户是否经过身份验证的方法


也许最合适的方法是通过对django用户模型进行子分类并在其中添加此标志来创建自定义用户模型。但由于这需要对设计进行重大更改,我正在寻找任何不需要更改现有模型的方法。

您可以在视图中执行此操作,例如,如果您有一个视图显示此信息,只需请求用户激活并发送所需的上下文即可

def information_detail(request):
    # ...
    if request.user.is_authenticated and request.user.activation_flag:
        context ={# your context data for paid users}
    else:
        context={# your context data for free users}
    # ...

对于您的另一个问题,建议您创建一个自定义的
用户
模型,因为如果您需要在将来添加新变量,从现有用户迁移到新模型时,您会遇到问题。

如果您可以发布views.py,那就更好了,因为如果是基于类的视图,代码会不同;如果是基于函数的视图,代码会不同。