django에 모듈을 생성 해서 사용할 일이 생겨서 프로젝트 app 에 파일 생성 후 models class 를 호출 했더니 에러가 발생 한다.
대충 모듈이 정의 되지 않았다는 의미 이다.
manage.py 내용을 보면
def main():
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'workAutomation.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'workAutomation.settings')
부분이 보인다. 이는 프로젝트가 실행 될때 settings.py 설정 값을 읽어 온다는 의미다
새 모듈(django는 .py 를 모듈로 인식 한다.)을 추가 하면 django는 어떤 파일인지 인식 하지 못한다.
따라서 새모듈이 어떤 환경설정을 참고 할지 지정해 줘야 한다.
import os
import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)) + '/app')))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'workAutomation.settings')
import django
django.setup()
#use app models class add
from excel.models import Exceltestdata
처음엔 sys 경로를 추가 안하고 실행 하니 프로젝트를 못찾길래 경로를 추가 해줬다.
(만약 manage.py 와 같은 경로에서 사용 한다면 sys 경로를 빼도 settings.py를 찾는다. )
ipython 에서 QuerySet 테스트 할때 해주는것과 같다고 생각 하면 편하다.
'django' 카테고리의 다른 글
Django Form, Serializer (0) | 2021.11.23 |
---|---|
Excel data DB insert & the other way (0) | 2021.10.19 |
django mysql connection error (0) | 2021.10.14 |
django file upload & download (3) | 2021.10.12 |
django 기본 구조 (0) | 2021.10.11 |