django的单元测试

在django的单元测试中,模拟用户登录,用户名密码均正确,但是views.py的函数获取request.user.pk始终为None
代码如下:

class driverTestCase(TestCase):
    def setUp(self):
        user = User.objects.create_user(username='management', password='123456')
        company = CompanyModel.objects.create(name='公司1')
        UserProfile.objects.create(user=user, company=company,userType=1)
        CompanyModel.objects.create(name='公司2')
        self.data ={
            'username': 'management',
            'password': '123456'
        }
        self.client = Client()
   def test_get_driverinfo(self):
        ss = self.client.login(username='management',password='123456')
        print('vvvvvvvvvvvv',ss)  ##输出ss为True
        url = reverse('add_driverinfo')
        data = {
            'data': json.dumps({
                'jobNumber': '123456',
                'name': '张三',
                'company': '公司1',
                'gender': '女',
                'phonenum': '15256589001',
                'license': '34242311155654',
                'licenseStart': '2019-03-01 00:05:05',
                'licenseExpire': '2019-12-01 00:05:05'
            })
        }
        res = self.client.post(url, data)

下面为url为add_driverinfo的视图函数

def add_deviceinfo(request):
    if request.method == 'POST':
        print('aaaaaaaaaaa',request.user.pk)
       
        return HttpResponse(json.dumps(message), content_type='application/json')

这里的request.user.pk始终为None,但是测试前我已经self.client.login()登录用户,为何还获取不到呢?

阅读 1.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题