Gallery

Below is an example configuration of a panel using the Gallery module:

{
    "full_row": True,
    "url_name": "panel_document_chain_of_custody",
    "width": 12,
    "content": {
        "view": custom_views.DocumentGallery,
        "view_params": {
            "model": custom_models.Document,
            "media_field": "image_file_url",
            "document_name": "Chain of Custody Management",
            "clear_filters": True,
        },
    },
},

The view_params are:

  • model the model this table is based on

  • media_field Uses the image_file_url field to get the media URL for displaying images

  • document_name: Displays a name or title for the documents.

  • clear_filters: Clears any filters, showing all relevant documents in the gallery.

custom_views can be defined as followed:

class DocumentGallery(module_views.Gallery):
    document_name = None

    def get_media_file_queryset(self):
        item = self.model.objects.filter(name=self.document_name).first()
        if self.get_media_reference(item):
            return [item]

    def get_media_label(self, item):
        if item:
            return item.name

Last updated