2012-07-12 71 views
14

我有一個用於顯示對象列表的Django-CMS插件。插件所需的功能是列表分頁,並且可以根據列表中對象的屬性重新排序。如何訪問Django-CMS插件中的請求對象?

用ajax處理這個功能在這種特殊情況下不是理想的解決方案,所以我打算使用django Paginator,它需要一個'page'querystring參數,並傳遞一個'order'querystring參數,然後我將使用它定義查詢集的順序。

問題是,我無法看到從插件渲染函數內部訪問請求對象。

有誰知道是否有可能從渲染函數內訪問請求對象,或者可以建議一種解決方法?

回答

22

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) 
     ... 
+0

你說得對。我是個白癡。我試圖作爲context.request而不是context ['request']來訪問它。舊習難改。 – 2012-07-13 18:40:35

相關問題