2012-07-12 24 views
14

Tôi có một plugin Django-CMS được sử dụng để hiển thị danh sách các đối tượng. Chức năng được yêu cầu của plugin là danh sách được phân trang và có thể được sắp xếp lại dựa trên các thuộc tính của các đối tượng trong danh sách.Làm cách nào để truy cập đối tượng yêu cầu trong plugin Django-CMS?

Xử lý chức năng này với ajax không phải là giải pháp lý tưởng trong trường hợp cụ thể này nên tôi đã lên kế hoạch sử dụng django Paginator, yêu cầu tham số truy vấn 'trang' và chuyển tham số chuỗi truy vấn 'thứ tự' mà tôi sẽ sử dụng xác định thứ tự của queryset.

Vấn đề là tôi không thể nhìn thấy dù sao truy cập đối tượng yêu cầu từ bên trong chức năng hiển thị plugin.

Có ai biết nếu có thể truy cập đối tượng yêu cầu từ bên trong chức năng hiển thị hoặc có thể đề xuất giải pháp thay thế không?

Trả lời

22

Phương thức kết xuất của CMSPluginBase lấy đối tượng ngữ cảnh. Bạn sẽ có thể truy cập yêu cầu thông qua đối tượng đó nếu chế độ xem của bạn đang sử dụng một cá thể 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

Bạn nói đúng. Tôi là một thằng ngốc. Tôi đã cố gắng truy cập nó như context.request thay vì bối cảnh ['request']. Thói quen cũ khó thay đổi. –

Các vấn đề liên quan