[英]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.