code: def get_context_data(self, **kwargs):
          
          context = super(CRUDMixin, self).get_context_data(**kwargs)
          context.update({
              'model_verbose_name': self.model._meta.verbose_name,
              'model_verbose_name_plural': self.model._meta.verbose_name_plural,
          })
  
          context['fields'] = utils.get_fields(self.model)
  
          if hasattr(self, 'object') and self.object:
              for action in utils.INSTANCE_ACTIONS:
                  try:
                      url = reverse(
                          utils.crud_url_name(self.model, action),
                          kwargs={'pk': self.object.pk})
                  except NoReverseMatch:  # pragma: no cover
                      url = None
                  context['url_%s' % action] = url
  
          for action in utils.LIST_ACTIONS:
              try:
                  url = reverse(utils.crud_url_name(self.model, action))
              except NoReverseMatch:  # pragma: no cover
                  url = None
              context['url_%s' % action] = url
  
          return context
docs: Adds available urls and names.