2013-07-05 45 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)