类型对象 'User' 在 Django 应用程序中没有属性 'is_staff'



如果您看到链接,则说明User对象具有属性is_staff。当我们在单元测试中创建一个新用户时,我想看看is_staff的默认值是多少。代码非常简单:

def test_login_user(self):
        User.objects.create_user('john', 'example@abc.edu', 'password')
        print self.client.login(username='john', password='password')
        print User.is_staff
        if User.is_staff:
            s = requests.get('http://127.0.0.1:8000/dashboard/')
        else:
            s = HttpResponseForbidden()
        print s.status_code

现在,当我尝试打印出print User.is_staff时,它显示

类型对象"User"在Django应用程序中没有属性"is_staff"

我已经知道用户不是员工用户,所以User.is_staff的输出应该是False,对吧?有人能指出我错在哪里吗?

您应该检查类实例,而不是类:

user = User.objects.create_user('john', 'example@abc.edu', 'password')
if user.is_staff:
    <do something>

相关内容

最新更新