我有一个 Django-CMS 插件,用于显示对象列表。该插件所需的功能是列表是分页的,并且可以根据列表中对象的属性重新排序。
在这种特殊情况下,用 ajax 处理这个功能并不是一个理想的解决方案,所以我计划使用 django Paginator,它需要一个“page”查询字符串参数,并传递一个“order”查询字符串参数,然后我将使用它来定义顺序查询集。
问题是我无论如何都看不到从插件渲染函数中访问请求对象。
有谁知道是否可以从渲染函数中访问请求对象,或者可以提出解决方法?
我有一个 Django-CMS 插件,用于显示对象列表。该插件所需的功能是列表是分页的,并且可以根据列表中对象的属性重新排序。
在这种特殊情况下,用 ajax 处理这个功能并不是一个理想的解决方案,所以我计划使用 django Paginator,它需要一个“page”查询字符串参数,并传递一个“order”查询字符串参数,然后我将使用它来定义顺序查询集。
问题是我无论如何都看不到从插件渲染函数中访问请求对象。
有谁知道是否可以从渲染函数中访问请求对象,或者可以提出解决方法?
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)
...