Почему я получаю ошибку No Reverse Match?

Я пытаюсь добавить функциональность удаления в мой проект Django, и, похоже, я застреваю в цикле всякий раз, когда пытаюсь получить доступ к странице health_hub_history.

Я продолжаю получать следующую ошибку, которая, как я знаю, связана с моей настройкой urls.py, но я закомментировал ее, поэтому я действительно не знаю, почему я все еще получаю ошибку!

Сообщение об ошибке: NoReverseMatch at /MyHealth/history Обратное соответствие для 'delete_entry' не найдено. 'delete_entry' не является допустимой функцией представления или именем шаблона.

Views.py:

from django.shortcuts import render, get_object_or_404, redirect
from django.views import View, generic
from .models import HealthStats
from .forms import StatUpdateForm


def home(request):
    return render(request, 'home.html')


def health_hub(request):
    latest = HealthStats.objects.filter(user=request.user).latest('date')
    context = {
            "user": latest.user,
            "weight": latest.weight,
            "date": latest.date,
            "run_distance": latest.run_distance,
            "run_time": latest.run_time,
        }
    return render(request, 'health_hub.html', context)


def health_history(request):
    serialized_stats = []
    for stats in HealthStats.objects.filter(user=request.user):
        serialized_stats.append({
            "user": stats.user,
            "weight": stats.weight,
            "date": stats.date,
            "run_distance": stats.run_distance,
            "run_time": stats.run_time,
        })
    context = {
        "stats": serialized_stats
        }
    return render(request, 'health_hub_history.html', context)
 

class UpdateHealth(View):
    
    def get(self, request, *args, **kwargs):

        stats = HealthStats
        update_form = StatUpdateForm
             
        context = {
            'stats': stats,
            'update_form': update_form,
            'user': stats.user,
            'weight': stats.weight,
            'date': stats.date,
        }
        return render(request, 'health_hub_update.html', context)
    
    def post(self, request, *args, **kwargs):

        stats = HealthStats
        update_form = StatUpdateForm(data=request.POST)
             
        context = {
            'stats': stats,
            'update_form': update_form,
            'user': stats.user,
            'weight': stats.weight,
            'date': stats.date,
            'run time': stats.run_time,
            'run distance': stats.run_distance
        }

        if update_form.is_valid():
            update_form.save()
            
        return render(request, 'health_hub_update.html', context)


# def delete_entry(request, entry_id):
#     entry = get_object_or_404(HealthStats, id=entry_id)
#     entry.delete()
#     return redirect("health_hub_history")

urls.py:

from django.urls import path
from django.contrib.staticfiles.storage import staticfiles_storage
from django.views.generic.base import RedirectView
from . import views

app_name = 'HealthHub'

urlpatterns = [
    path('', views.home, name='home'),
    path('MyHealth/', views.health_hub, name='health_hub'),
    path('MyHealth/update', views.UpdateHealth.as_view(), name='health_hub_update'),
    path('MyHealth/history', views.health_history, name='health_hub_history'),
    path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url("favicon.ico"))),
    # path('MyHealth/delete_entry/<id>', views.delete_entry, name='delete_entry'),
]

health_hub.html (кнопка, с которой происходит ошибка):

<a href="{% url 'HealthHub:health_hub_history' %}"><button class="btn btn-primary btn-lg">View my Health
                History</button></a>

health_hub_history.html:

Я не понимаю, как все это можно закомментировать, но оно все равно пытается получить доступ к представлению 'delete_entry'?

Django не игнорирует HTML комментарии, вам нужно использовать специальный тег :

{% comment "Optional note" %}
    <a href="{% url 'delete_entry' entry_id %}"><button class="btn btn-danger">
{% endcomment %}

https://docs.djangoproject.com/en/4.1/ref/templates/builtins/#comment

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