Framework/Django

[Django] 장고 튜토리얼 공부-2

깜태 2021. 8. 20. 00:43
728x90

2장에서는 다음 내용에 대해 공부하였다.

 

1. Settings.py를 이용해 DB를 포함한 기본 환경을 설정

 

2. 모델을 이용해 DB 생성하는 법

 

3. ORM(Object Relational Mapping)을 이용하는 법

 

4. 관리자를 생성하는 방법

 

 

1. Settings.py 다루기

장고에서는 main이 되는 프로젝트명 디렉토리 내부에 settings.py 파일이 존재한다.

Settings.py는 말그대로 설정에 대해 기술하고 있는데,

주 기능으로는 DB 설치, 서버시간대 설정, 기본 설치 앱 등이 있다.

장고에서는 기본 DB로 sqlite3, postgresql, mysql, oracle 를 지원하는데,

settings.py 내 default 부분에 해당 이름대로 변경하면 된다.

 

다 설정한 뒤, 다음의 명령어를 실행하면 settings.py 에 명시된 내용에 따라 DB가 생성된다.

python manage.py migrate

 

2. Model 생성 및 DB 연결하기

장고에서는 아래 그림과 같이 객체 구조로 코드를 적어놓으면 명시된 내용에 따라 DB의 컬럼과 테이블을 생성하는 기능을 제공한다.

models.py에서 DB 테이블 구조를 설정한 뒤에 settings.py에서 polls.apps.PollsConfig 를 추가하고

마지막으로 명령어를 입력하면 해당 앱을 현재 프로젝트에 추가시킬 수 있다.

 

python manage.py makemigrations polls

 

 

3. django를 이용해 ORM 다뤄보기

생성한 테이블을 ORM(Object Relational Mapping)이라 하여 파이썬으로 쿼리를 컨트롤하는 기능도 제공하는데,

아래의 명령어를 이용하면 장고 API를 이용해 파이썬 쉘로 DB를 다룰 수 있다.

python manage.py shell

 

polls.model로부터 Choice, Question 테이블을 받아서 테이블에 데이터를 생성하고, 내용을 확인한 예시이다.

 

4. 관리자 생성

장고의 장점으로 관리자 계정을 제공해 모델에 대한 인터페이스를 제공하여 관리할 수 있는 기능을 자동으로 생성해준다.

python manage.py createsuperuser

위의 명령어를 입력하고, 추가로 나오는 username, email, password를 입력하면 super user 인 관리자를 생성할 수 있다.

관리자는 말그대로 관리자로써 앱을 등록하면 앱 내의 기능들을 관리할 수 있는데, 등록하는 방법은 아래처럼

앱 내의 admin.py 에 해당 모델을 추가하면 된다.

 

그리고 확인하는 방법은 로컬 도메인 뒤에 /admin/ 을 입력하면 관리자 홈페이지가 나오는데

들어갈 때 설정했던 유저명, 비밀번호를 입력하면 관리자 페이지에 들어가 확인할 수 있다.

(http://localhost:8000/admin/ 을 입력해보거나, http://127.0.0.1:8000/admin/ 을 입력해보면 된다)

 

접속하면 앱 내 모델에 대한 UI 홈페이지가 나오는데 CRUD(Create, Read, Update, Delete) 기능이

알아보기 쉽게 제공되어 있어서 편리하게 작업할 수 있다.

 

이번 챕터를 통해 장고의 기본 세팅 설정을 통해 DB를 포함한 기본적인 설정을 관리하는 방법을 배웠고,

migration 명령어를 이용해 설정한 모델 파일을 DB 테이블로 만드는 방법,

장고 API를 이용해 파이썬으로 ORM을 사용하는 방법,

관리자를 생성하고 앱을 추가해 CRUD하는 방법에 대해 배웠다.

 

참고

https://docs.djangoproject.com/ko/3.2/intro/tutorial02/

 

728x90

'Framework > Django' 카테고리의 다른 글

[Django] 장고 튜토리얼 공부-1  (0) 2021.08.19