Django
Django Static file download 경로 만들기
대구 올빼미
2020. 9. 28. 17:35
# urls.py에 해당 api를 들어올 수 있도록 url을 만들어 준다.
re_path(r'^inner/static/$', static_serving),
# view에 작성할 파일
import mimetypes
# static 경로 설정(static파일 경로에 있는 파일을 다운로드)
STATIC_ROOT = getattr(settings, 'STATIC_ROOT')
@api_view(['GET'])
def static_serving(request):
file_name = request.GET.get('filename', '')
if file_name == '':
return None
fl_path = STATIC_ROOT+'/{}'.format(file_name)
filename = file_name
fl = open(fl_path, 'r')
mime_type, _ = mimetypes.guess_type(fl_path)
response = HttpResponse(fl, content_type=mime_type)
response['Content-Disposition'] = "attachment; filename=%s" % filename
return response
장고로 static 파일을 다운받을 수 있는 경로를 만들어줄 수 있다.
해당 경로로 filename을 담아서 요청을 하게 되면 파일을 다운 받을 수 있다.
다운로드 요청 경로
https://127.0.0.1:8000/inner/static/?filename='hello.py'