PB
Size: a a a
PB
D
D
D
D
S
S
PB
АВ
path('works/<int:pk>/', views.WorksItemView.as_view(), name='worksid'),
если нет прямого доступа к works/id по примеру def items(self):
return StandardModel.objects.all()
AF
AF
path('works/<int:pk>/', views.WorksItemView.as_view(), name='worksid'),
если нет прямого доступа к works/id по примеру def items(self):
return StandardModel.objects.all()
АВ
AF
АВ
class WorksItemView(generic.DetailView):
'''Формируем окно просмотра картинки
из каталога с описанием
'''
model = PhotoObject
template_name = 'core/gallery_item_view.html'
context_object_name = 'item'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
id = self.kwargs.get('pk')
context['images'] = PhotoObject.objects.get(pk=id).images_set.all()
return context
class PhotoObject(models.Model):
'Фотообъект - объект, у которого больше одной фотографии'
catalog = models.ForeignKey(Catalog, blank=True, null=True, on_delete=models.CASCADE)
title = models.CharField(max_length=200, verbose_name='Название')
description = models.TextField(max_length=512, blank=True, null=True, verbose_name='Описание')
keywords = models.CharField(max_length=255, blank=True, null=True, verbose_name='Ключевые слова')
pub_date = models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')
АВ
catalog
, которые определены в моделе class Partitions(CommonInfo):
url = models.CharField(...)
cover = models.ImageField(...)
content = models.TextField(...)
template_name = models.CharField(...)
sort = models.SmallIntegerField(...)
catalog = models.ManyToManyField(Catalog, ..)
AF
А