NoReverseMatch в Django, но явных проблем нет

Я читал другие решения по этому вопросу, но ни одно из них не применимо к моему проекту. Это база данных семейных фотографий.

Проблема

В представлении списка, которое работает нормально, есть два типа ссылок - одна в верхней части страницы для создания новой записи и одна для каждого из перечисленных элементов для обновления выбранной записи.

При нажатии на любую из них я получаю следующую ошибку. Если я просто ввожу URL-адреса, я также получаю ту же ошибку.

NoReverseMatch at /stories/l_memories_update_people/4
Reverse for 'memories_people' not found. 'memories_people' is not a valid view function or pattern name.

.

Модели

class memories_people(models.Model):
fk_user = models.ForeignKey(User, default='1', on_delete=models.CASCADE)
name = models.CharField(max_length=750, default='', blank=True, null=True)

def __str__(self):
    return self.name

class Meta:
    ordering = ('name', )

Виды

    class v_memories_list_people(LoginRequiredMixin, ListView):
        model = memories_people
        template_name = 'storiesapp/t_memories_list_people.html'
        context_object_name = 'people'
        ordering = ['name']
    
    
   class v_memories_update_people(LoginRequiredMixin, UserPassesTestMixin, UpdateView):
    
        model = memories_people
        fields = ['fk_user', 'name']
        template_name = 'storiesapp/t_memories_update_people.html'
    
    
        def form_valid(self, form):
            form.instance.fk_user = self.request.user
            form.save()
            return HttpResponseRedirect(self.request.path_info)
    
        def test_func(self):
            post = self.get_object()
            if self.request.user == post.fk_user:
                return True
            return False

URLs

path('l_memories_list_people',v_memories_list_people.as_view(), name='r_memories_list_people'),
path('l_memories_update_people/<int:pk>',v_memories_update_people.as_view(), name='r_memories_update_people'),

Шаблон (список)

{% load static %}
{% load crispy_forms_tags %}
{% load render_table from django_tables2 %}
{% load mptt_tags %}
    
<!DOCTYPE html>
<html>

<h1>People</h1>
<h3><a class="nav-item nav-link" href="{% url 'r_memories_create_people' %}">Create</a></h3>


{% block right %}

<table>
    {% for people in people %}
    <tr> 
        <td><h3>{{ forloop.counter }}</h3></td><
        <td><h3><a href="{% url 'r_memories_update_people' people.id %}">{{ people.name }}</h3></td>

    </tr>
    {% endfor %}
</table>



{% endblock %}

</html>

Шаблон (обновление)

{% extends "storiesapp/memories_base.html" %}
{% load static %}
{% load crispy_forms_tags %}


{% block content %}
<div>
    <h1>Update</h5>
</div>

    <div class="content_section">

        <form method="POST">
            {% csrf_token %}

            <fieldset class="form-group">

                <legend class="border-bottom mb-4">{{ memories_people.name }}</legend>
            
                <div>{{ form|crispy }}</div>

            </fieldset>
            # submit button

            <div class="form-group">
                    <button class="btn btn-outline-info" type="submit">Post</button>
            </div>

        </form>

    </div>

{% endblock content %}

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

Кроме того, если ваш вопрос содержит шаблон, который расширяет другой, например, шаблон, предоставляющий навигационную панель, включите этот шаблон в свой вопрос.

В данном примере URL был переименован и перестал быть правильным в шаблоне, который расширялся. Поскольку этот шаблон не был опубликован в вопросе, так как я даже не подумал об этом, никто не смог бы увидеть допущенную ошибку

Спасибо тем, кто задал вопросы ниже.

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