BundlePage): yield ButtonWithDropdownFromHook( 'Stats', hook_name='add_bundle_stats_button', page=page, page_perms=page_perms, is_parent=is_parent, priority=35 ) @hooks.register('add_bundle_stats_button') def add_stats_view_buttons(page, page_perms, is_parent=False): return [ Button( 'View Stats', reverse('bundle_stats', args=(page.pk,)), priority=10, ), Button( 'Download CSV', reverse('bundle_stats_export_redirect', args=(page.pk,)), priority=20, ) ] class BundleStatsView(DetailView): template_name = 'bundles/admin/stats.html' // … stats display logic