Django File Upload

DevSmiler·2020년 3월 22일
1

Django File upload

장고에서 파일 업로드를 하는 방식은 프론트 단에서 파일을 등록해주면, 그 등록한 파일을 서버 스토리지에 업로드를 하는 방식입니다.
기능 구현에 목적을 두었으며, 상업적인 방식에는 적합하지 않습니다.

사용한 라이브러리

Django 기본 라이브러리

구현 했던 방식

장고 공식 문서를 참고해서 만들었습니다. 아래 사진이 장고 공식문서에서 발췌한 내용입니다. 다른 스트링 처리 및 업로드와 관련이 적은 부분들은 코드를 첨부하지 않았습니다.
모든 방식은 RestApi 방식으로 구현 했습니다.


  1. 파일을 일단 프론트단에서 받습니다.
  2. 해당 파일을 바이트수로 쪼개고 원하는 위치로 모든 데이터를 fileopen을 이용해서 스토리지에 저장합니다.
  3. 해당 업로드가 끝이나면 HttpResponse를 해줍니다.

코드

class SongUploadView(View):

    def post(self,request):
        try:
            file = request.FILES['file']
            file='test'
            self.upload_file(file)

            return HttpResponse(status=200)
        except Exception as identifier:
            print(identifier)
            return HttpResponse(status=400)



    def upload_file(self,f,name):
        with open(settings.MEDIA_URL+"/"+name,'wb+') as destination:
            for chunk in f.chunks():
               destination.write(chunk)
profile
A ship is always safe at the shore, but that is not what it is built for - Albert Einstein

0개의 댓글