@nurzhannogerbek

Загрузка файлов в Python 2.7 в определенную директорию?

Здравствуйте, помогите пожалуйста разобраться.

Мой вопрос уверен многим покажется простым, но не могу найти идеальное решение. В Django проекте есть форма с полем через которую пользователь может загрузить один или несколько изображений. В форме после нажатии кнопки submit необходимо загрузить файлы в определенную директорию. В моем конкретном случаи форма наследуется от Form, а не от ModelForm.

Вопрос: Как в Python-е 2.7 загрузить эти файлы? Подскажите пожалуйста...

forms.py:
from django import forms

class ImageForm(forms.Form):
    image_field = forms.ImageField(widget=forms.FileInput(attrs={'multiple': True}), required=False)


views.py:
def form_valid(self, form):
    images = self.request.FILES.getlist('image_field')
    if image in images:
        # Записать все файлы в определенную директорию
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Из документации:
def upload_file(request):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            for f in request.FILES.getlist('file_field'):
                with open('/path/to/file/' + f.name, 'wb+') as destination:
                    for chunk in f.chunks():
                        destination.write(chunk)
            return HttpResponseRedirect('/success/url/')
    else:
        form = UploadFileForm()
    return render(request, 'upload.html', {'form': form})
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы