0

我将 Fandjango 用于 Django Facebook Canvas 应用程序。

要使用 fandjango,您需要用 包装所有视图函数@facebook_authorization_required,以确保您获得授权,然后为您提供变量request.facebook.user

我想要的是制作一个上下文处理器,它基于此定义更多变量,即我希望我的所有模板都能够fb_user用作request.facebook.user.

问题是,我不知道如何在上下文处理器上使用装饰器。

任何想法我怎么能做到这一点?

4

1 回答 1

3

无需包装上下文处理器。如果您首先包装了视图,那么request将已经使用该facebook.user属性进行注释。由于无论如何请求都会传递给上下文处理器,因此您可以访问该属性。

您可能应该if hasattr(request, 'facebook')在上下文处理器中进行快速检查,以确保它是从包装视图中调用的。

于 2012-04-11T12:34:48.937 回答