Django загрузка нескольких изображений с помощью формы

Я создаю доску объявлений. Я хочу разместить несколько изображений в одном сообщении. Однако, как бы я не старался найти способ создать несколько с помощью формы.Я хочу загрузить несколько файлов одновременно. Я создал функцию загрузки изображений, но она не отображается на сайте. Я не знаю, где это пошло не так

models.py

class Writing(models.Model):
  author = models.ForeignKey(User, on_delete=models.CASCADE)
  subject = models.CharField(max_length=200)
  content = models.TextField()
  create_date = models.DateTimeField()
  modify_date = models.DateTimeField(null=True, blank=True)
  view_count = models.IntegerField(default=0)

  def __str__(self):
    return self.subject

class WritingImage(models.Model):
  writing = models.ForeignKey(Writing, on_delete=models.CASCADE)
  image = models.ImageField(upload_to='images/%Y/%m', blank=True, null=True)

forms.py

class WritingForm(forms.ModelForm):
  captcha = ReCaptchaField(label=('로봇확인'))
  class Meta:
    model = Writing
    fields = ['subject', 'content']

    labels = {
      'subject': '제목',
      'content': '내용',

    }

class WritingFullForm(WritingForm):
  images = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}))

  class Meta(WritingForm.Meta):
    fields = WritingForm.Meta.fields + ['images', ]

views.py

@login_required(login_url='account_login')
def writing_create(request):
  """
  글작성
  """
  if request.method == 'POST':
    form = WritingFullForm(request.POST, request.FILES)
    files = request.FILES.getlist('images')
    if form.is_valid():
      writing = form.save(commit=False)
      writing.author = request.user
      writing.create_date = timezone.now()
      writing.save()
      if files:
        for f in files:
          WritingImage.objects.create(writing=writing, image=f)
        return redirect('ourtube:index')
  else:
    form = WritingFullForm()
  context = {'form': form}
  return render(request, 'ourtube/writing_form.html', context)

form.html

    <div class="form-group">
      <label for="note-image">Images</label>
      <input type="file" name="images" class="form-control-file" id="note-image" multiple>
    </div>

detail.html

<h1>{{ writing.view_count }} 회</h1>
<h1>{{ writing.id }}</h1>

<h1>{{ writing.subject }}</h1>

<div>
  {{ writing.content }}
</div>

    {% for photo in writing.image_set.all %}
    <li>
      {{ photo.image }}
    </li>
    {% endfor%}
<div>
  {% for photo in writing.photo_set.all %}
  {{ photo.image.url }}
    <img src="{{ photo.image.url }}" style="width: 100%; float: left; margin-right: 10px;" />
  {% endfor %}
</div>

{% for photo in writing.image_set.all %} << Изображение не сохраняется в письме?

помогите мне

Если вы используете save(commit = False), вы должны вызвать save_m2m(). Ссылка на документацию.

Вернуться на верх