Old Branch

장고 프로젝트 Django Simple Web Project -3 (어플리케이션 만들기)

woolbro 2019. 6. 11. 17:09
반응형

이전 포스팅입니다 :)

 

[Python/Django] - 장고 프로젝트 Django Simple Web Project - 1 (장고 설치하기)

 

장고 프로젝트 Django Simple Web Project - 1 (장고 설치하기)

안녕하세요, Django를 가지고 웹페이지를 만들어 보겠습니다. 주로 Cmd 창 혹은 Terminal 에서 실행 하려고 합니다. 저는 Linux 터미널이 Window10 명령 프롬프트보다 편해서, 개발자모드로 변경 후에 Linux bash..

woolbro.tistory.com

[Python/Django] - 장고 프로젝트 Django Simple Web Project -2 (장고 사용하기)

 

장고 프로젝트 Django Simple Web Project -2 (장고 사용하기)

[Python/Django] - 장고 프로젝트 Django Simple Web Project - 1 (장고 설치하기) 장고 프로젝트 Django Simple Web Project - 1 (장고 설치하기) 안녕하세요, Django를 가지고 웹페이지를 만들어 보겠습니다. 주..

woolbro.tistory.com

 

 


이번 포스팅에는 어플리케이션을 추가해서 만들어 보도록 하겠습니다.

 


boardApp 어플리케이션 추가

 

manage.py를 사용하여 어플리케이션을 추가하겠습니다. 게시판을 만들려고 하기 때문에 이름을 boardApp으로 하겠습니다.

 

$ python3 manage.py startapp boardApp

 

그럼, boardApp이 하나 생기는데요, 현제 제 디렉토리 기준으로는 myvenv 하위폴더로 boardApp이 생성되었습니다.

 

현재 boardApp이라는 어플리케이션을 생성했는데, 생성 한 사실을 장고 settings.py에 알려주어야 합니다.

 

아래의 settings.py는 mysite/settings.py입니다.

 


boardApp 모델 생성하기

Model 객체를 생성하겠습니다.  생성한 boardApp의 하위에 있는 models.py 파일에 선언하여 모델을 만듭니다.

boardApp/models.py 파일을 작성하겠습니다.

 

 

django.db 에서 models, django.utils 에서 timezone 을 불러옵니다. 모델 안에서 사용 할 것들입니다.

 

Post라는 이름의 모델을 만들고, models.Model은 이 Post를 장고의 모델임을 알려줍니다.

 

ForeignKey, CharField, TextField 등의 속성들이 있는데 하나씩 설명 하겠습니다. 아시는 분들은 쭉~ 내려주세요

 

  • models.CharField : 텍스트를 정의 할 때 사용 (글자수의 제한이 있는 비교적 짧은 글)
  • models.TextField : 텍스트를 정의 할 때 사용 (글자수의 제한이 없는 긴 텍스트)
  • models.DateTimeField : 날짜, 시간이 담긴 필드
  • models.ForeignKey : 다른 모델과의 링크를 잡아줍니다. 외래키입니다.

모델 속성에 관한 reference 는 링크에 자세히 소개가 되어있습니다. 시간이 날 때 한번 읽어보시면 유용 할 것 같습니다.

 

Model field reference | Django 문서 | Django

Django The web framework for perfectionists with deadlines.

docs.djangoproject.com


DB에 모델 테이블 생성하기

 

작성한 모델을 가지고, DB테이블을 생성하겠습니다. 마찬가지로 manage.py 파일을 사용하겠습니다.

 

$ python3 manage.py makemigrations boardApp

 

위의 명령어를 실행하면 아래와 같이 출력이 됩니다.

 

Migrations for 'boardApp':
  boardApp/migrations/0001_initial.py
    - Create model Post

 

모델 Post를 생성했으니, 이제 실제 데이터베이스에 모델을 추가 해 주겠습니다.

 

$python3 manage.py migrate boardApp

 

Operations to perform:
  Apply all migrations: boardApp
Running migrations:
  Applying boardApp.0001_initial... OK

 

위와 같은 글이 출력되면 모델을 추가가 된 것입니다.