2015-03-13 56 views
0

在某些情況下,我想註銷的用戶,它與next PARAM重定向到登錄頁面,因此當用戶成功地登錄,Django的應用戶重定向到一些頁。Django的logout_then_login旁邊PARAM

我發現logout_then_login()方法,但看起來並不之後登錄頁面PARAM下一支持。我試圖在extra_content參數中傳遞'next'參數,但它不起作用。

我該怎麼做?也許有一些其他的Django方法來做到這一點? 一般來說,我只是想強制退出,讓用戶重新登錄並重定向到它被logget出來的頁面。

回答

1

From the docs(向下滾動該方法)

logout_then_login(請求[,LOGIN_URL,CURRENT_APP,extra_context中用])

使用戶登錄時,然後重定向到登錄頁面。

URL名稱:沒有默認的URL提供

可選參數:

  • LOGIN_URL:登錄頁面的URL重定向到。如果未提供,則默認爲settings.LOGIN_URL。
  • CURRENT_APP:一個提示指示哪些應用程序包含當前視圖。有關更多信息,請參閱命名空間URL解析策略。
  • extra_context中用:上下文數據的字典,將被添加到傳遞給模板默認情況下的數據。

Here we can see that the login method will accept a next parameter as a get variable.

添加旁邊的login_url應該做你想要什麼:

from django.conf import settings 
... 
def myView(request): 
    login_url = "%s?next=%s" % (settings.LOGIN_URL, request.path) 
    logout_then_login(request, login_url=login_url)