Django request.user在重定向后成为匿名用户

Django request.user在重定向后成为匿名用户,django,authentication,redirect,Django,Authentication,Redirect,这里的问题是request.user在重定向后总是转向匿名用户 我正在编写自己的登录方法和身份验证后端,因为我没有使用密码登录 这是我的密码 #app/view.py def login(request): template = 'index.html' if request.method == "POST": userId = request.POST.get('userId', '') displayName = request.POST.ge

这里的问题是request.user在重定向后总是转向匿名用户
我正在编写自己的登录方法和身份验证后端,因为我没有使用密码登录
这是我的密码

#app/view.py
def login(request):
    template = 'index.html'
    if request.method == "POST":
        userId = request.POST.get('userId', '')
        displayName = request.POST.get('displayName', '')
        user = auth.authenticate(userId=userId, displayName=displayName)

        if user.is_authenticated:
            auth.login(request, user)
            return redirect('home') ##### if change to "render(request, template, locals())", will see request.user as logged in user #####
        else:
            return render(request, template, locals())
    else:
        return HttpResponse('')

    def home(request):
        template = 'index.html'
        user = request.user
        return render(request, template, locals())
我正在检查request.user是否通过javascript登录。如果不是,则使用post函数来创建/login/URI。getProfile()是我的第三方javascript函数,用于从概要文件中获取userId和displayName

#html.javascript
DjangoLogin="{{request.user}}";
      if (DjangoLogin=="AnonymousUser"){
        liff.getProfile().then(function(profile) {
            userId = profile.userId;
            displayName = profile.displayName;
            post('/login/',{ 'userId': userId, 'displayName': displayName, 'csrfmiddlewaretoken': '{{ csrf_token }}'});
          });

您自己的
登录
功能是否会在
会话
中保存登录的用户?我想不会。这就是我所怀疑的。您看到的是我的整个登录功能。但我找不到相关的帖子或信息。我该怎么做?