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


  • Level 3

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

  • Level 3

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

  • Level 3

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

  • Level 9

    아마도 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 7

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

POPULAR TOPICS

SUGGESTED TOPICS