在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()
登录用户,为何还获取不到呢?