728x90
BASE_DIR = Path(__file__).resolve().parent
syspath = str(BASE_DIR.parent.parent)
- backend
- backend
- settings.py
- myapps
- sql
- script.py
내 폴더 구조는 위와 같은데..
script.py에서 궁극적으로 backend.settings의 정보를 가져와서 django.setup()을 실행해줄수 있는 구조를 맞춰주면된다.
1. BASE_DIR은 sql폴더를 가르키고 있다.
2. BASE_DIR(sql폴더)을 기준으로 2번 상위 폴더로이동해야 최상위 backend 프로젝트 폴더로 이동할 수 있다.
그래서 syspath는 BASE_DIR.parent.parent를 해준것이다. 이대로 syspath변수에 담으면 WindowsPath 타입으로 담겨서 아래 django.setup이 제대로 진행이 안된다.
따라서 문자열로 치환해준 뒤 아래 코드들을 추가로 작성 후 실행해주면 정상적으로 django 모델이 불러와지는것을 확인할수 있을것이다.
BASE_DIR = Path(__file__).resolve().parent
syspath = str(BASE_DIR.parent.parent)
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "backend.settings")
django.setup()
from myapps.models import *
728x90
'IT > Django' 카테고리의 다른 글
제대로된 해결 방법 - received a naive datetime while time zone support is active. (0) | 2023.06.22 |
---|---|
How to create Djoser custom token strategy more detail info(jwt 정보추가) (0) | 2023.06.01 |
UnicodeDecodeError: 'cp949' codec can't decode bytes in position : illegal multibyte sequence (0) | 2023.05.09 |
Setup django-allauth social login (0) | 2022.09.08 |
Django-ninja-extra 튜토리얼(정리중) (1) | 2022.06.30 |