Docker 를 이용하여 미디어 파일을 저장하고 있느넫 이부분때문에 엄청난 에러가있었는데 아래 블로그를 통해 해결했다. 정말감사하다.
서론
이 글은 Django FileField upload_to Custom 야매 적용기 와 연관된 페이지입니다.
찾으시는 내용이 없을 수 있습니다.
본론
이전 글의 upload to Custom을 야매로 적용 후 Docker ec2환경에서 적용을 하려고 했더니 제목과 같은 에러가 떴다.
upload_to를 적용하면 대충 /project3/media/~~~/~~~/~~~.png 이렇게 적용되는데
일단 에러 내용을 읽어보면 경로 부분에서 뭔가 에러가 발생했다고 한다.
이에 대한 에러를 찾아보면 경로가 잘못됐다니 경로가 png 확장자까지 들어가야 한다니 이런 말이 있었는데
다 안됐고 비슷한 내용이 있는 사이트를 찾았다
https://code.djangoproject.com/ticket/32718
위의 사이트에서 일부 글을 가져와보면
I believe an absolute path outside of Media Root should fail, that is correct (in my opinion) - as an absolute path might be able to write shell scripts around the file system...
It should however, work for a relative file path.
bad_file.name = "/etc/init.d/nameofscript.sh"
# or
bad_file.name = "../../../../../usr/local/lib/bad.file"
절대 경로를 작성하게 되면 외부에서 셸 스크립트라던지 리눅스 내부의 key 파일들을 탐색할 수 있다고 한다.
그러니까 맞는 경로로는 맨 앞의 ' / '를 지우는 것이 이 글의 해결 방법이었다.
/project3/media/~~~/~~~/~~~.png 가 아닌
project3/media/~~~/~~~/~~~.png 이렇게 해야 정상적으로 저장이 가능하다.
출처 :
'Programming > Python' 카테고리의 다른 글
[Django] Django-countries (0) | 2022.08.15 |
---|---|
[Django] type 'PosixPath' is not iterable 에러 (0) | 2022.08.13 |
[Django] 다중 필터 적용 (1) | 2021.10.29 |
[Django] QuerySet Django order_by 쿼리 세트, 오름차순 및 내림차순 (0) | 2021.08.23 |
[python] String Null 값 조건문 (0) | 2021.06.02 |