2013-07-05 46 views
2

第一次使用Django-facebook。在Django Facebook上註冊?

  1. 由於某種原因,如果我登錄Facebook,但後來退出我的Facebook帳戶。我的應用程序保持使用默認的Django用戶登錄,由於「用戶已註銷」,因此會話令牌已過期。如果我然後重新登錄Facebook,那麼Django應用程序將保持「註銷」Facebook的狀態。

  2. 在上面的情況下,我試着將@facebook_required_lazy添加到我的視圖函數的頂部,但沒有任何效果。這個裝飾器在這個用例中的預期行爲是什麼?該視圖包含對get_persistent_graph的調用。

回答

1

您的Django登錄會話完全獨立於您的Facebook登錄會話。 Facebook僅用於認證,即在登錄時進行認證。但登錄會話是獨立的,沒有連接。因此,從Facebook註銷並不會影響您的Django會話。你仍然在Django上登錄是正常的。

從Django的註銷,你需要使用Django框架的logout方法,在模塊django.contrib.auth,例如使用自定義註銷方法是這樣的:

from django.contrib.auth import logout as django_logout 

def logout(request): 
    django_logout(request) 
    return some_other_view(request)