장고에서 파일 업로드를 하는 방식은 프론트 단에서 파일을 등록해주면, 그 등록한 파일을 서버 스토리지에 업로드를 하는 방식입니다.
기능 구현에 목적을 두었으며, 상업적인 방식에는 적합하지 않습니다.
사용한 라이브러리
Django 기본 라이브러리
장고 공식 문서를 참고해서 만들었습니다. 아래 사진이 장고 공식문서에서 발췌한 내용입니다. 다른 스트링 처리 및 업로드와 관련이 적은 부분들은 코드를 첨부하지 않았습니다.
모든 방식은 RestApi 방식으로 구현 했습니다.
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)