Здравствуйте!
Задача такая:
У меня есть пост, к нему привязываются через ForeignKey фотки.
Хочу написать вьюшки создания и редактирования поста. Проблема с загрузкой фото.
В редактировании поста все работает - я загружаю и удаляю фотки ajax - запросами, но при создании поста так поступать не могу, ибо пост еще не создан - соответственно загружать фото и сохранять их не могу(foreignkey не к чему крепить).
Решил сделать с помощью js превью, удаление и мультизагрузку (поставил multiple в input html5). Теперь получается, что есть форма создания поста и заодно с ней в request.FILES отправляются фотографии.
class CreatePostView(CreateView):
form_class = PostForm
template_name = 'new_create_post.html'
success_url = 'success_create/'
def post(self, request, *args, **kwargs):
if 'image_list' in request.FILES:
print('image_list in FILES')
print(request.FILES.getlist('image_list'))
#Здесь я вижу, что получаю лист объектов типа InMemoryUploadedFile
form_class = self.get_form_class()
form = self.get_form(form_class)
if form.is_valid():
return self.form_valid(form)
else:
return self.form_invalid(form)
def form_valid(self, form):
instance = form.save(commit=False)
instance.author = self.request.user
instance.save()
return redirect(self.success_url)
Как сделать валидацию и сохранить эти фото?