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