django - 使用 Django-AllAuth 以编程方式登录?

标签 django testing django-allauth

是否有一种简单的方法以编程方式使用 AllAuth 登录?我不太关心 cookie 或 session ,我只想获得一个与 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 用户帐户不保证有密码,因此上面的代码将不起作用。那么如何让客户端免密码登录,让测试更简单呢?

最佳答案

你可以使用APITestCase的方法force_authenticate

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

这是 docs

关于django - 使用 Django-AllAuth 以编程方式登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43203038/

相关文章:

Django-allauth OAuth2 刷新 token

python - 在 Jython 上使用 Django 管理.py runserver

python - Virtualenv 中 Mac OS X 上的 ImportError : No module named setuptools. 命令

testing - JMeter : How to click on a particular element ?

Python实现以排列数为输入的Permutation Test

django-allauth:如何为我的域添加站点?

python - 如何在 Django REST 框架中创建部分搜索过滤器?

python - 获取模型类字段效果不佳

python - test_forms 与 django 给出 AssertionError

Django AllAuth如何自定义自己的HTML或CSS