Исправление ошибки NoReverseMatch для проекта Django

Я пытаюсь исправить ошибку No Reverse Match для моего проекта django, но не могу понять причину и последовательность действий для ее устранения.

Моя задача состоит в том, чтобы нажать на кнопку и изменить статус булевой величины с False на True и если статус False, то появиться, а если true, то исчезнуть.

Вот модель:

class Workout(models.Model):
    active = models.BooleanField(default=False)

Вот вид:

def change_status(request, pk):
    url = request.META.get('HTTP_REFERER')  # get last url
    startsession = Workout.objects.get(id=pk)
    startsession.active = True
    startsession.save()
    return HttpResponseRedirect(url)

Вот шаблон:

          {% if startsession.active %}
          <button disabled="disabled"   type="button">Start the workout</button>
          {% else %}
              <a href="{% url 'my_gym:bla' startsession.pk %}">  <--------Error here
              <button type="button">Start the workout</button>
              </a>
          {% endif %}

вот url:

    path('workout/bla/<int:pk>/', change_status, name='bla'),

и, наконец, вот ошибка Traceback:

Traceback (most recent call last):
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
    response = get_response(request)
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\core\handlers\base.py", line 204, in _get_response
    response = response.render()
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\template\response.py", line 105, in render
    self.content = self.rendered_content
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\template\response.py", line 83, in rendered_content
    return template.render(context, self._request)
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\template\backends\django.py", line 61, in render
    return self.template.render(context)
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\template\base.py", line 170, in render
    return self._render(context)
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\template\base.py", line 162, in _render
    return self.nodelist.render(context)
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\template\base.py", line 938, in render
    bit = node.render_annotated(context)
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\template\base.py", line 905, in render_annotated
    return self.render(context)
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\template\defaulttags.py", line 312, in render
    return nodelist.render(context)
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\template\base.py", line 938, in render
    bit = node.render_annotated(context)
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\template\base.py", line 905, in render_annotated
    return self.render(context)
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\template\defaulttags.py", line 446, in render
    url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\urls\base.py", line 87, in reverse
    return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
  File "C:\Users\User\Desktop\Portfolio\venv\lib\site-packages\django\urls\resolvers.py", line 685, in _reverse_with_prefix
    raise NoReverseMatch(msg)

Если можно посоветовать, как лучше всего подумать об исправлении такой ошибки и почему она появляется и причины, по которым она может появиться

Вернуться на верх