django에서 json 파일이 읽히지 않습니다.


  • Level 5

    제가 현재 django를 이용하여 api를 만들려고 합니다. 그 중에서 json파일의 데이터를 읽어오는 부분을 작성중인데 같은 디렉토리 내에 있는 json 파일을 읽어오지 못한다는 오류가 발생하는데 왜 그러는건지 도와주실 수 있나요?

  • Level 5

    절대경로를 이용해서 해결되었습니다. 관심 가져주셔서 감사합니다.

  • Level 5

    @Jose-goorm
    절대경로를 통해서 접근하니까 정상적으로 작동합니다. 감사합니다.

  • Level 15

    아마도 json 파일의 상대경로를 이용하여 file read 시도하시는 상황일 것으로 생각됩니다.

    Python에서 상대경로의 기준은 .py 파일의 위치가 아니라 python 프로세스를 실행한 디렉토리 위치가 됩니다.
    구름IDE에서 django 서버를 실행하셨다면 보통의 경우에 /workspace/[프로젝트이름] 경로에서 실행이 되므로
    이 경우에 만약
    /workspace/[프로젝트이름]/foo/bar.py 파일에서
    /workspace/[프로젝트이름]/foo/data.json 파일을 읽으려면
    open('data.json')이 아닌 open('foo/data.json')와 같이 해주셔야 합니다.

    하지만 이 방법은 실행 위치에 따라 제대로 작동할 수도, 에러가 날 수도 있는 방식이라, 아래와 같이 절대경로 이용하시는 것을 추천드립니다.

    import os
    
    json_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data.json')
    f = open(json_path)
    
  • Level 10

    혹시 에러 메시지 보여주실 수 있나요?

SUGGESTED TOPICS