15

オブジェクトのリストを表示するために使用されるDjango-CMSプラグインがあります。プラグインに必要な機能は、リストがページ付けされ、リスト内のオブジェクトのプロパティに基づいて並べ替えることができることです。

この特定のケースでは、この機能をajaxで処理することは理想的なソリューションではないため、「page」クエリ文字列パラメーターを必要とするdjango Paginatorを使用し、「order」クエリ文字列パラメーターを渡して、次の順序を定義することを計画していました。クエリセット。

問題は、プラグインのレンダリング関数内からリクエストオブジェクトにアクセスする方法がわからないことです。

レンダリング関数内からリクエストオブジェクトにアクセスできるかどうか誰かが知っていますか、または回避策を提案できますか?

4

1 に答える 1

24

CMSPluginBaseのrenderメソッドは、コンテキストオブジェクトを取ります。ビューがRequestContextインスタンスを使用している場合は、そのオブジェクトを介してリクエストにアクセスできるはずです。

class MyCoolPlugin(CMSPluginBase):

    def render(self, context, instance, placeholder):

         #Do something with the request, like access the user
         current_user = context['request'].get('user', None)
         ...
于 2012-07-12T20:28:12.867 に答える