-
3. Django 기초 (1) : Project Build, Model, DB, AdminPython Study 2020. 3. 3. 19:19
1. Project-Build
on terminal
django-admin startproject [PROJECT-NAME] cd [PROJECT-NAME] django-admin startapp board
MVC model을 위해 app 폴더 내에 [templates] 폴더를 만들면 장고가 알아서 읽는다.
app 생성 후에는 등록을 해야하는데,
PROEJCT 폴더 - PROEJCT 폴더 - settings.py에서 아래와 같이 등록을 해준다.
2. Model - DB 설정
위와 같이 django.db pakage에서 models를 import한다.
Class 내에서 username, password, register_dttm을 Django form으로 받는다.
Meta Class는 DB table의 이름을 지정해준다.
models.py 의 정보를 바탕으로 DB를 생성하는 manage.py 를 만든다.
python3 manage.py makemigrations
migrate해서 DB를 생성한다.
python3 manage.py migrate
DB 생성에 관해서는 settings.py를 참고하면 된다.
생성된 db는 아래와 같이 확인한다.
sqlite3 db.sqlite3 >>> .table >>> .schema DB_NAME >>> .q # 종료
아래와 같이 DB 구조 자체를 변경한다면, 다시 makemigrations을 해준다.
python3 manage.py makemigrations python3 manage.py migarte
이러면 새로 DB를 만드는 것이 아니라. 기존 DB(initial.py)에서 상속을 받아, 변경할 사항만 변경한다.
3. Model - Admin
- N/M
- Admin 계정 만들기
python3 manage.py createsuperuser
- Server 실행
python3 manage.py runserver
- Model 등록
- http://127.0.0.1:8000/admin에서 admin을 통해 모델을 관리할 수 있다.
- DB를 SQL을 직접 접근하지 않고, admin 관리자 도구를 통해 편집할 수 있게 해준다.
user가 생성되었을 때 [Class Name object (n)]형태로 생성되는데, 이를 user의 정보로 보고싶다면,
__str__ 함수를 설정해주면 된다.
이것도 불편하면, admin.py에서 Admin Display를 변경해주면 된다.
- Admin에서 Model을 관리할 때 보기 편한 이름을 설정하는 방법
- 기본적으로 모델이름s 이 붙는다.
'Python Study' 카테고리의 다른 글
6. Django 기초 (4) : Session, Redirect (0) 2020.03.03 5. Django 기초 (3) : from CDN to STATIC (0) 2020.03.03 4. Django 기초 (2) : VIEW, 로그인 만들기 (0) 2020.03.03 2. *args, **kwargs (0) 2020.02.29 1. Closure, Decorator, Generator (0) 2020.02.29