Несколько изображений для проекта в django
Я создаю веб-приложение на django, где у меня есть модель под названием projects, которая несет данные о проекте с изображением. У меня есть другая модель под названием ProjectImages, которая позволяет добавлять несколько изображений в проект. Я пытаюсь запросить изображения, относящиеся к определенному проекту, но они не отображаются на веб-странице. Буду благодарен за любую помощь.
Вот мои модели
models.py
class Projects(models.Model):
title = models.CharField(max_length=100, null=True, blank=True)
image = models.FileField(upload_to='media/images', null=True, blank=True)
video = models.FileField(upload_to='media/videos', null=True, blank=True)
description = models.TextField(null=True, blank=True)
client = models.CharField(max_length=300, null=True, blank=True)
completed = models.BooleanField(default=True)
def __str__ (self):
return self.title
class Meta:
verbose_name_plural = 'Projects'
ordering = ('-id',)
class ProjectImages(models.Model):
project = models.ForeignKey(Projects, on_delete=models.CASCADE)
image = models.ImageField(upload_to='media/images', blank=True, null=True)
def __str__ (self):
return self.project.title
forms.py
more_project_images = forms.FileField(required=False, widget=forms.FileInput(attrs={
'class':'form-control',
'multiple':True
}))
class Meta:
model = Projects
fields = '__all__'
views.py
form = ProjectsForm()
if request.method == "POST":
form = ProjectsForm(request.POST, request.FILES)
files = request.FILES.getlist('more_project_images')
if form.is_valid():
project = form.save()
for f in files:
project_image = ProjectImages(project=project, image=f)
project_image.save()
projectdetails.html
{% for project in project.projectimages_set.all %}
<div class="col-md-3 p-2">
<img src="{{project.image.url}}" class="img-fluid" style="object-fit: contain;" alt="">
</div>