def get_context_data(self, **kwargs):
        context = super(CommonViewMixin, self).get_context_data(**kwargs)
        if hasattr(self, 'title'):
            context['title'] = self.title

        if hasattr(self, 'nav_active_item'):
            context['nav_active_item'] = self.nav_active_item

        if hasattr(self, 'dd_active_item'):
            context['dd_active_item'] = self.dd_active_item

        if hasattr(self, 'breadcrumbs'):
            context['breadcrumbs'] = self.breadcrumbs

        if hasattr(self, 'messages'):
            for message in self.messages:
                messages.add_message(
                    self.request, message['type'], message['message'])

        return context
Add a callback -- a function that takes no parameters -- that will
dataset/ETHPy150Open ofa/connect/open_connect/connect_core/utils/views.py/CommonViewMixin.get_context_data--crossover with--dataset/ETHPy150Open cloudera/hue/desktop/core/ext-py/Paste-2.0.1/paste/reloader.py/Monitor.add_file_callback