При попытке загрузить несколько файлов с использованием одного поля формы с формой модели Django Почему я получаю сообщение об ошибке № 13. Отказано в доступе ...? - PullRequest
0 голосов
/ 03 марта 2019

Я отображаю HTML-форму, используя Django Model Form для загрузки Mutliple Files, и пишу код, читая django docs для загрузки Mutliple Files, но я получаю ошибку Permission Denied. Я пробовал разные способы доступа к каталогу, предоставив некоторыеразрешения, но я обнаружил, что это ошибочные и небезопасные методы .Где я делаю неправильно .. я прикрепил скриншот fyr ... Снимок экрана ошибки здесь

Код Forms.py

class AddRoomForm(forms.ModelForm):
    class Meta:
        model = Rooms
        fields=['roomNo', 'floor', 'service','manager', 'bed', 'restaurant','roomPictures',
              'washroom', 'amenities',
              ]
        widgets = {
            'roomPictures': forms.ClearableFileInput(attrs={'multiple': True}),
        }  

Код Views.py

class AddRoom(LoginRequiredMixin, LogoutIfNotAdminMixin, CreateView):
    login_url = reverse_lazy('alogin')
    permission_required = 'is_admin'

    def post(self, request, *args, **kwargs):
        context={}
        if request.method =='POST':
            form = AddRoomForm(request.POST, request.FILES)
            if form.is_valid():
                for count, x in enumerate(request.FILES.getlist("roomPictures")):
                    def process(f):
                        with open('aapp/static/aapp/images/rooms/') as destination:
                            for chunk in f.chunks():
                                destination.write(chunk)
                    process(x)
                form.save()
            return redirect('roomsdata')

        else:
            form = AddRoomForm()
        return render(request, 'aapp/rooms/aroomdata.html', {'form':form,'context':context})
...