Ответ 1
В представлении на основе класса все элементы из URL-адреса помещаются в self.args
(если это неименованные группы) или self.kwargs
(для названных групп). Итак, для вашего вида вы можете использовать self.kwargs['pk']
.
У меня есть шаблон URL, сопоставленный с пользовательским классом вида в моем приложении Django, например:
url( r'^run/(?P<pk>\d+)/$', views.PerfRunView.as_view( ))
Проблема в том, что я не могу понять, как я могу получить доступ к "pk" из строки шаблона URL в моем классе вида, чтобы я мог получить конкретный объект модели на основе его идентификатора базы данных. Я googled, просмотрел документацию Django, искал Stack Overflow, и я не могу найти удовлетворительный ответ вообще.
Кто-нибудь может мне сказать?
В представлении на основе класса все элементы из URL-адреса помещаются в self.args
(если это неименованные группы) или self.kwargs
(для названных групп). Итак, для вашего вида вы можете использовать self.kwargs['pk']
.
для доступа к первичному ключу в представлениях post =
Class_name.objects.get(pk=self.kwargs.get('pk'))