Загружайте несколько изображений в новости, используя Django с одним полем загрузки - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь загрузить несколько изображений в модуль новостей

У меня есть такая модель:

class News(models.Model):
    title = models.CharField(max_length=255,null=True, verbose_name ='Title')
    date = models.DateField(max_length=255,null=True, verbose_name ='Date')

class NewsImages(models.Model):

    news = models.ForeignKey(News, related_name='newsimages',on_delete=models.CASCADE)
    file_name = models.ImageField(upload_to='news/', max_length=255, null=True, verbose_name ='Image')

У меня есть такая форма:

class NewsAddForm(forms.ModelForm):
    class Meta:
        model = News
        fields = ['title', 'date']


class NewsImagesAddForm(forms.ModelForm):
    file_name = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True, 'required' : False}))
    class Meta:
        model = NewsImages
        fields = ['file_name']

Мой файл просмотра:

form_class = NewsAddForm
        imgform_class = NewsImagesAddForm
        if request.method=="POST":
            form = form_class(request.POST, request.FILES)
            if form.is_valid():
                new = form.save(commit = False)
                new.save()  

                imgform = imgform_class(request.POST, request.FILES)
                imgform.save(commit = False)
                for img in imgform:
                    img.news = new  
                    img.save()  

                messages.success(request, 'news added successfully')
                return redirect('listnews')
        else:
            form = form_class()
            imgform = imgform_class()
        context = {'form' : form, 'imgform' : imgform}
        return render(request, 'news/add.html', context)

Так, пожалуйста, помогите мне, что я сделал не так здесь

...