用Django-AllAuth编程登录?

时间:2017-04-04 09:18:36

标签: django testing django-allauth

有一种简单的方法可以用AllAuth以编程方式登录吗?我并不真正关心cookie或会话,我只想获得一个与AllAuth用户帐户相对应的Client

示例:

from django.test import Client
from django.contrib.auth.models import User

user = User.objects.first()  # assuming user registered with AllAuth
client.login(username=user.username)  # password needed!

不保证AllAuth用户帐户拥有密码,因此上述代码无效。那么如何让客户端在没有密码的情况下登录以使测试更容易?

1 个答案:

答案 0 :(得分:1)

您可以使用APITestCase's方法force_authenticate

class Test(APITestCase):
    def setUp(self):
        self.user = ... #get the user
        self.client.force_authenticate(user=self.user)

以下是docs