# 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'
'Django' 카테고리의 다른 글
django many to many를 id로 정렬하는 방법 (0) | 2021.03.17 |
---|---|
django에서 vue사용하기 (0) | 2021.02.23 |
주니어 개발자의 Django ORM 수난기 (5) | 2020.07.21 |
django celery beat crontab time 설정 (0) | 2020.05.14 |
CELERY에 대해(주의할 점) (0) | 2020.05.06 |