15

我有一个 Django-CMS 插件,用于显示对象列表。该插件所需的功能是列表是分页的,并且可以根据列表中对象的属性重新排序。

在这种特殊情况下,用 ajax 处理这个功能并不是一个理想的解决方案,所以我计划使用 django Paginator,它需要一个“page”查询字符串参数,并传递一个“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 回答