Я действительно рад открыть для себя классовые представления в Django.Это лучше подходит моему крошечному мозгу.
Теперь я столкнулся с ситуацией, когда я направлял пользователей на страницу на основе двух параметров из URL-адреса с помощью функции view.
views.py
def step_detail(request, **kwargs):
course_pk = kwargs["course_pk"]
step_pk = kwargs["step_pk"]
step = get_object_or_404(Step, course=course_pk, pk=step_pk)
return render(request, "courses/step_detail.html", {"step": step})
urls.py
urlpatterns = [
...
path("courses/<int:course_pk>/<int:step_pk>/", views.step_detail, name='step'),
]
В документе говорится, что в DetailView можно передавать только "pk" или "slug", но здесь у меня есть два параметра, поэтому мне не повезло.
Случайно, есть ли еще элегантный способ использовать представления на основе классов?
Мое репо здесь: https://github.com/jeremy886/DjangoBasics