我正在使用Fandjango作为Django Facebook Canvas应用程序。
要使用 fandjango,您需要用 @facebook_authorization_required
包装所有视图函数,以确保您获得授权,然后为您提供变量 request.facebook.user
。
想要的是制作一个上下文处理器,它基于此定义更多变量,即我希望我的所有模板都能够使用 fb_user
作为request.facebook.user
的快捷方式。
问题是,我不知道如何使用上下文处理器上的装饰器。
任何想法我该怎么做?
无需包装上下文处理器。如果首先已包装视图,则request
将已使用 facebook.user
属性进行批注。由于请求无论如何都会传递到上下文处理器,因此您可以访问该属性。
您可能应该在上下文处理器中快速检查 - if hasattr(request, 'facebook')
- 只是为了确保从包装视图中调用它。