[英]Test Login with credentials as superuser Django 1.9, Python 3.5
我一直试图以超级用户身份登录以使用Django 1.9和Python 3.5来测试驱动器管理功能,但是我的登录一直失败。
这是测试。 在最后一个断言中,它总是返回false:
class TestAdmin(TestCase):
def setUp(self):
self.client = Client()
def test_login(self):
my_admin = User(username='user', email='user@email.com')
my_admin.set_password('passphrase')
my_admin.is_superuser=True
my_admin.is_staff=True
response = self.client.get('/admin/', follow=True)
self.assertEqual(response.status_code, 200)
self.assertTrue('Log in' in response.content.decode('utf-8'))
loginresponse = self.client.login(username='user', email='user@email.com',
password='passphrase')
self.assertTrue(loginresponse)
我认为你应该做my_admin.save()
您的.is_staff=True
用户需要保存到在测试运行时创建的用户“数据库”中。 使用以下脚本,该权限应该可以:
class TestAdmin(TestCase):
def setUp(self):
self.client = Client()
self.my_admin = User(username='user', is_staff=True)
my_admin.set_password('passphrase') # can't set above because of hashing
my_admin.save() # needed to save to temporary test db
response = self.client.get('/admin/', follow=True)
loginresponse = self.client.login(username='user',password='passphrase')
self.assertTrue(loginresponse) # should now return "true"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.