Пытаюсь вернуться от представления деталей на основе классов к представлению на основе функций, но получаю ошибку NoReverseMatch

Я создаю проект билета с некоторой функциональностью комментариев, и я знаю, что это звучит странно, так как тенденция обычно заключается в том, чтобы перейти от функций к классам. Моя проблема заключается в том, что поскольку детальный вид предназначен только для отображения, попытка включить систему комментариев на той же странице оказывается довольно сложной. Сейчас я просто пытаюсь воспроизвести детальную часть билета и продолжаю получать эту ошибку

Traceback

Я думал, что отображение только детальной части будет таким же простым, как это представление на основе функции

post_single(request, slug)
    ticket = Ticket.objects.get(slug=slug)

    return render(request, 'tickets/improved.html', {'ticket':ticket})

Но я продолжаю получать эту ошибку, я не уверен, что не так.

Вот общий вид, основанный на классе

class TicketDetailView(DetailView):
    model = Ticket

urls.py

urlpatterns = [
    path('main/', TicketListView.as_view(), name='ticket-home'),
    path('main/<slug:slug>/', views.post_single, name='post_single'),
    path('user/<str:username>', UserTicketListView.as_view(), name='user-tickets'), 
    path('tickets/<int:pk>/', TicketDetailView.as_view(), name='ticket-detail'),
    path('tickets/new/', TicketCreateView.as_view(), name='ticket-create'),
    path('tickets/<int:pk>/update/', TicketUpdateView.as_view(), name='ticket-update'),
    path('tickets/<int:pk>/delete/', TicketDeleteView.as_view(), name='ticket-delete'),
    path('about/', views.about, name='tickets-about'),
]

Любая помощь будет высоко оценена

Добавьте context_object_name к вашему представлению.

class TicketDetailView(DetailView):
    model = Ticket
    context_object_name = "ticket"

Без такой установки, в шаблоне вы можете ссылаться на него как на object, а не с помощью __class__ имени модели.

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