ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3. Django 기초 (1) : Project Build, Model, DB, Admin
    Python 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 이 붙는다.


     

     

Designed by Tistory.