0

Django Facebook Canvas アプリに Fandjango を使用しています。

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 に答える