渲染不会渲染到模板

时间:2017-09-13 07:41:06

标签: python django

在管理索引页面中,我将id绑定到一个按钮,并使用jquery ajax来请求注销事件:

$("#logout").click(function(){

    $.ajax({
        url:'/logout/',
        type:'POST'

    })
})

在frontend / views.py中:

def logout(request):
    if request.method == 'POST':
        request.session['username'] = None
        request.session['is_login'] = False
        import app_admin.views as app_admin_views
        app_admin_views.conn = None # clean the connection
        print ('before logout')
        return render(request,'frontend/login.html')

终端在注销前打印了'但页面没有呈现给frontend/login.html,我也尝试使用重定向,全部失败。

1 个答案:

答案 0 :(得分:1)

在注销视图功能中,返回重定向

return redirect('login-or-something')

在javascript中,AJAX请求处理重定向响应,

function handleSuccess(data, textStatus, jqXHR) {

  location.href = jqXHR.getResponseHeader('Location');
}

function handleError(jqXHR, textStatus, errorThrown) {
  console.log(errorThrown); // send to some error log collectors
}


$.ajax({
    url:'/logout/',
    type:'POST'
    success: handleSuccess,
    error: handleErr
});