- Django를 실행시키고 관리하기 위한 명령어를 알아본다.
- Django의 ORM을 알아보고 Database와 연동하여 사용 해보기.
1) 앱 추가 / DB연결하기
필요한 앱의 이름을 넣어 폴더를 생성한다. (manage.py가 있는 폴더에 그대로 만들면된다.)
폴더를 추가해준 후에는 꼭 startapp으로 장고에게 앱 추가하라고 알려줘야한다.
그래야 장고에서 내부 기능을 저절로 채워줌
django startapp #user 는 폴더명, 변경가능
+ settings.py의 INSTALLED_APPS 안에 '해당 폴더명' 추가 하기
- installed_apps 들여다보기:
INSTALLED_APPS = [ #장고에서 기본적으로 제공되는 것들
'django.contrib.admin', #관리자
'django.contrib.auth', #인증, 권한 부여
'django.contrib.contenttypes', #컨텐츠타입 시스템, 어떤 객체인지 식별
'django.contrib.sessions', #세션 관리 기능
'django.contrib.messages', #사용자에 대한 피드백 메세지 제공
'django.contrib.staticfiles', #정적 파일 제공. CSS, JavaScript 및 이미지 파일과 같은 것들을 정적파일이라고 함
'tweet',
'user',
]
마찬가지로 settings.py의 DATABASES를 보면
'NAME': BASE_DIR / 'db.sqlite3'
이것이 있는데 이게 데이터베이스.
settings.py를 터미널에서 실행하면 해당 폴더 내에 생성된다.
*** mac vscode에서 sqlite실행하기..
cmd+shift+x로 마켓플레이스를 열고 sqlite를 찾는다. (파란동그라미에 하얀깃털)
+ SQLite viewer도 설치해야 단순한 네모칸 콘솔이 아닌 트리테이블로 볼 수 있다
설치 후 cmd + shipt + p (혹은 보기>명령팔레트) 에서
'SQLite: Open Database' 명령어를 입력,
자동으로 db.sqlite3 파일을 찾아온다. 실행!
or vscode 탐색기에서 settings.py실행 후 만들어진 db.sqlite3파일을 우클릭, open database를 해준다.
정상적으로 실행이 되었다면 오른쪽하단 >개요 밑에 >SQLITE Explorer 가 생긴 것을 확인할 수 있다!
2) ORM
object relational mapping
데이터들을 하나의 객체로 보고, 파이썬 클래스로 다룰 수 있도록 해준다.
어떤 모델을 생성할지, 요소들을 담을 것인지 고민해야한다.
class 붕어빵틀():
빵반죽 = ''
속재료 = ''
굽는시간 = ''
가격 = 0
이런식으로 표현된 데이터를 orm으로 간편하게 데이터베이스로 표현해준다.
3)admin tools 관리자 툴 사용하기
(+ tweet 글쓰기 모델 추가하기 #관리자툴했듯이, tweet파일에서 진행. 과정은 동일함!)
* 튜터님이 강의 중에 자주 서버를 끄시는데, 오류를 줄이기 위해 서버를 끄는 듯함;
기능추가때는 ctrl + c로 미리 끄고 시작하자. *
(1) 사용하고자하는 class를 만들어 models.py에 넣어준다
(2) 명령어로 장고가 변경된 내용을 확인해 db를 만들어주고, db에 입력해달라는 요청을 통해 적용한다
python3 manage.py makemigrations
python3 manage.py migrate
(3) vscode기준 왼쪽 >개요에 있는 db.squlte3을 찾아.. 오른쪽클릭하여 Show table을 해보면
table my_user 와 내용이 추가된 것을 볼 수 있다.
#models.py의 UserModel > Meta 함수에 이름을 지정 했음
db_table = "my_user"
(4) 위 과정이 완료되면 명령어로 admin계정을 만든다
python3 manage.py createsuperuser
#admin.py에 사용자 등록 기능을 추가하면 localhost에서 등록한 user를 볼 수 있다
(5) 이 코드를 admin.py에 넣어 실행한다
from django.contrib import admin #admin을 사용할 것이라고 import
from .models import UserModel #현재 파일의 위치와 같은 곳에있는 models에 만든 클래스 불러오기
admin.site.register(UserModel) #usermodel을 관리자페이지에 넣어주겠다..
+ 장고 manage.py runserver
노란 경고페이지에 겁먹지말고 /admin에서 로그인, 추가한 정보를 확인할 수 있다.
'AI 웹개발반 > Python, Django' 카테고리의 다른 글
[Django] 06 회원가입, 로그인기능 수정하기 (0) | 2023.04.06 |
---|---|
[Django] 05 user model에 기능 추가하기 (0) | 2023.04.05 |
[Django] 04 앱 기능 추가 GET, POST, 세션 (0) | 2023.04.04 |
[Django] 02 페이지 만들기 (0) | 2023.04.04 |
[Django] [TIL] 장고 환경 세팅, 오류메세지를 해결하는 사고 (0) | 2023.04.03 |