0
用户登录后有没有办法完全关闭重定向?我只是无法找到如何做到这一点......我只是在登录后不需要任何额外的查询,因为它发生在模态窗口中。我试图在设置中设置LOGIN_REDIRECT_URL = None
或LOGIN_REDIRECT_URL = ''
,这些都不起作用。我错过了什么吗?Django登录后关闭重定向
用户登录后有没有办法完全关闭重定向?我只是无法找到如何做到这一点......我只是在登录后不需要任何额外的查询,因为它发生在模态窗口中。我试图在设置中设置LOGIN_REDIRECT_URL = None
或LOGIN_REDIRECT_URL = ''
,这些都不起作用。我错过了什么吗?Django登录后关闭重定向
因此,根据我的理解,您希望登录所需页面为模态。
你不能使用django的login_required来实现,而是你可以使用ajax。
这必须是在你的观点:
def login_required_ajax_view(request):
if request.is_ajax():
if request.user.is_authenticated():
return JsonResponse(data={'logged_in', True})
return JsonResponse(data={'logged_in', False})
return HttpResponse("not ajax") # Add something if the call isn't ajax
这将是您在网页中的javascript:
function login_required() {
$.ajax({
url: 'url goes here',
data: data
success: success //on success call a function checking logged_in is
//true or false then open modal to log in.
})}
如果返回true让他们按一下按钮,继续前进到下一页。
不,你误解了。 Django的默认行为是在标准登录视图之后重定向到某个页面。我只想关闭它 - 我需要的只是sessionid,它会在头部的第一个响应中返回,但我不需要重定向 – Compadre