django 3.2 'NoReverseMatch at '

Форма добавления поста. Ругается на строчку в шаблоне: <form action="{% url 'add_brick' %}" method="POST">

Ошибка:

NoReverseMatch at /add_brick/
Reverse for 'add_brick' not found. 'add_brick' is not a valid view function or pattern name.

Контроллер:


def add_brick(request):
    if request.method == 'POST':
        form = BrickAddForm(request.POST, request.FILES)
        if form.is_valid():
            brick = form.save()
            print(colored(brick, 'yellow'))
            if brick.image:
                image_flag = image_flag_foo(brick.image)
            else:
                image_flag = 'no_image'
            context = {'brick':brick,
            'image_flag':image_flag,}
            return render(request, 'brick/add_brick.html', context)
    else:
        form = BrickAddForm()

    return render(request, 'brick/add_brick.html', {'form':form})

urls.py приложения:

from django.urls import path
from .views import brick_page_foo, add_brick, new_brick_page_foo

urlpatterns = [
    path('', brick_page_foo),
    path('add_brick/', add_brick),
]

глобальный urls.py


urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('brick.urls')),
]

Ответы (1 шт):

Автор решения: type49

Решил добавлением аттрибута name в urls.py приложения.

    path('add_brick/', add_brick, name='add_brick'),
→ Ссылка