Ошибка NoReverseMatch

Bboard - объявление, rubric - рубрика. Каждое объявление принадлежит какой либо рубрике. Мне нужно, что url адрес конкретного объявления имел вид: str:rubric_name/int:bboard_id. Ошибку не выдает при этом коде. Т.е когда rubric_name и bboard_id не находятся в url одновременно.

urls.py

urlpatterns = [
    path('', views.index, name='bboard_index'),
    path('add_Bb', views.BbCreateView.as_view(), name='add_Bb'),
    path('<str:rubric_name>', views.by_rubric, name='by_rubric'),
    path('page/<int:bboard_id>/add_com', views.new_comment, name='add_com'),
    path('page/<int:bboard_id>', views.Bboard_page, name='bboard_page'),
]

Но при добавлении rubric_name, сразу выдает ошибку NoReverseMatch, даже если мы находимся в корне bboard/ без аргументов. введите сюда описание изображения

urlpatterns = [
    path('', views.index, name='bboard_index'),
    path('add_Bb', views.BbCreateView.as_view(), name='add_Bb'),
    path('<str:rubric_name>/<int:bboard_id>/add_com', views.new_comment, name='add_com'),
    path('<str:rubric_name>/<int:bboard_id>', views.Bboard_page, name='bboard_page'), 
    path('<str:rubric_name>', views.by_rubric, name='by_rubric'),
]

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

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

А ты на какую ссылку переходил, когда NoReverseMatch вылезал? Ссылка должна быть вида http://localhost:8000/rubric/13 или http://localhost:8000/rubric/13/add_com. Кроме того в функции во views.py или же в классе должны быть соответствующие аргументы.

→ Ссылка