code: def admin_tools_render_dashboard(context, location='index', dashboard=None):
      
      if dashboard is None:
          dashboard = get_dashboard(context, location)
  
      dashboard.init_with_context(context)
      dashboard._prepare_children()
  
      try:
          preferences = DashboardPreferences.objects.get(
              user=context['request'].user,
              dashboard_id=dashboard.get_id()
          ).data
      except DashboardPreferences.DoesNotExist:
          preferences = '{}'
          try:
              DashboardPreferences(
                  user=context['request'].user,
                  dashboard_id=dashboard.get_id(),
                  data=preferences
              ).save()
          except IntegrityError:
              # dashboard already was saved for that (user, dashboard)
              pass
  
      context.update({
          'template': dashboard.template,
          'dashboard': dashboard,
          'dashboard_preferences': preferences,
          'split_at': math.ceil(
              float(len(dashboard.children)) / float(dashboard.columns)
          ),
          'has_disabled_modules': len(
              [m for m in dashboard.children if not m.enabled]
          ) > 0,
          'admin_url': reverse('%s:index' % get_admin_site_name(context)),
      })
      return context
docs: Template tag that renders the dashboard, it takes two optional arguments:
  
      ``location``
          The location of the dashboard, it can be 'index' (for the admin index
          dashboard) or 'app_index' (for the app index dashboard), the default
          value is 'index'.
  
      ``dashboard``
          An instance of ``Dashboard``, if not given, the dashboard is retrieved
          with the ``get_index_dashboard`` or ``get_app_index_dashboard``
          functions, depending on the ``location`` argument.