Django request.user在重定向后成为匿名用户
这里的问题是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
我正在编写自己的登录方法和身份验证后端,因为我没有使用密码登录
这是我的密码
#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 }}'});
});
您自己的
登录
功能是否会在会话
中保存登录的用户?我想不会。这就是我所怀疑的。您看到的是我的整个登录功能。但我找不到相关的帖子或信息。我该怎么做?