django向api认证用户发出请求用户

时间:2015-12-10 03:34:23

标签: python django

我正在尝试在django中创建一个应用程序。我有另一个应用程序的身份验证API。我通过表单从用户获取输入并将输入发布到json中的api。从api获得成功消息后,我的用户通过api身份验证,我想在django中将该用户设为request.user

我有什么方法可以做到。我想在process_view中的中间件中做这件事。这是正确的方法吗?但我不知道该怎么做。

任何建议都会得到满足。

1 个答案:

答案 0 :(得分:0)

如果你真的通过Django视图进行操作,可以使用以下命令手动登录用户:

# imports needed
from django.contrib.auth import login, logout
from django.contrib.auth.models import User

# hard way to login a user
user = User.objects.filter(username=INPUT_USERNAME).first()
user.backend = 'django.contrib.auth.backends.ModelBackend'
login(request, user)

如果您需要退出:

logout(request)