320x100
#1 Django의 기본 shell 인터프리터
기본적으로 Django를 shell로 사용하는 방법은
Django프로젝트가 있는 위치 근처에 manage.py 라는 파일이 있다.
그 파일이 있는 위치에서 터미널로 "ls"라는 리눅스 명령어를 쳐도 manage.py 가 나온다면
동등선상에 있는 것으로 간주되어서 활용이 가능하다.
활용을 원한다면
python manage.py shell
이라고 터미널에 입력하면 models를 불러와서 확인하고자 하는 것을 확인이 가능하다.
#1 ipython으로 사용하는 세팅이 필요한 이유
ipython을 사용이 가능하다는 말은 내가 필요한 경우
jupyternotebook으로도 사용이 가능하다는 의미가 된다
ipython이 jupyternotebook의 인터프리터 shell이라고 보면 된다.
즉, 이 고비를 넘기고 나면 필요에 의해서 jupyternotebook으로 Django를 활용할 수 있다는 의미도 된다.
#2 Django를 ipython으로 사용하기
하지만 ipython으로 사용하게될 경우에
from gram.models import Post
이런식으로 models에 정의된 클래스를 가져오려고하면
ImproperlyConfigured: Requested setting INSTALLED_APPS,
but settings are not configured. You must either define the environment
variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
이런 에러가 뜬다.
이를 해소해주는 방법은
#1
import os
#2
os.environ['DJANGO_SETTINGS_MODULE'] = '<프로젝트명>.settings'
라고 입력
예:
os.environ['DJANGO_SETTINGS_MODULE'] = 'instagram.settings'
#3
import django
#4
django.setup()
이 순서대로 해준다면
이제 ipython에서도 models를 불러와서 터미널 인터프리터로 확인이 가능하다.
#3 jupyter notebook 기본 셋팅
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'instagram.settings'
os.environ["DJANGO_ALLOW_UNSAFE"] = 'true'
os.environ["DJANGO_ALLOW_ASYNC_UNSAFE"] = 'true'
import django
django.setup()
그래도 ipython과 jupyter notebook은 약간은 다른 부분이 있어서
jupyter notebook의 기본셋팅값을 가져왔다.
300x250
'개발일지 > Django' 카테고리의 다른 글
Django - models 명령문 (filter, exclude, order_by, __lte) (0) | 2023.01.09 |
---|---|
Django - File Upload Handler(장고 파일 업로드 크기 조정) (0) | 2023.01.09 |
Django - models 자주쓰이는 필드 및 옵션 (1) | 2023.01.07 |
Django - ORM(모델명, 테이블명 생성원리, sqlite 인터프리터 기초 명령문) (1) | 2023.01.07 |
Django - markdownx, ImportError: cannot import name 'url' from 'django.conf.urls' 해결 (2) | 2023.01.04 |