2012-07-12 4 views
14

개체 목록을 표시하는 데 사용되는 Django-CMS 플러그인이 있습니다. 플러그인의 필수 기능은 목록의 페이지가 매겨지고 목록에있는 개체의 속성에 따라 다시 정렬 될 수 있다는 것입니다.Django-CMS 플러그인에서 요청 개체에 어떻게 액세스합니까?

아약스와 함께이 기능을 다루는 것은이 특별한 경우에는 이상적인 솔루션이 아니므로 django Paginator를 사용해야합니다. 페이지 이동 쿼리 문자열 매개 변수가 필요하며 'order'querystring 매개 변수를 전달하면됩니다. queryset의 순서를 정의하십시오.

문제는 플러그인 렌더링 기능에서 요청 개체에 액세스하는 것을 볼 수 없다는 것입니다.

렌더링 기능 내에서 요청 개체에 액세스 할 수 있는지 알고 있거나 해결 방법을 제안 할 수 있습니까?

답변

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로 액세스하려고했습니다. 늙은 습관이 많이 죽는다. –

관련 문제