在管理索引页面中,我将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
,我也尝试使用重定向,全部失败。
答案 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
});