[Python_Django] 앱 만들기 및 DB 테이블 만들고 확인하기
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
[Python_Django] 앱 만들기 및 DB 테이블 만들고 확인하기
좋아요 -
App(앱)
웹 사이트를 기능별로 구분해놓은 단위를 뜻함
먼저 새로운 앱 하나를 만들려고 하면, 명령 프롬프트 창에서 그 앱이 구현하는 기능을 이름으로 만들면 좋다.
여기서는 게시물을 걸어놓는 판 기능을 만들기 위해 board를 이름으로 만들어 진행한다.
cmd\Desktop\HelloDjango> python manage.py startapp board
이렇게 명령어를 치면
board라는 폴더가 하나 새로 생기게 된다.
그럼 이제 board라는 앱이 새로 하나 생겼다는것을 알려주기 위해
HelloDjango의 settings.py에서 INSTALLED_APPS부분에 만든 앱을 추가해 주어야 한다.
HelloDjango > settings.py
이제 새로 만든 앱인 board의 기능을 위해서 필요한 값들을 정한다.
게시물의 썸네일에는 썸네일 사진 하나에 게시물 제목, 게시물 업로드 시간, 게시물 수정 시간, 게시물 조회 수 등이 필요할 것이다.
그리고 게시물은 그 게시물의 내용이 필요할 것이다.
이런 내용들을 테이블로 만들기 위해서 클래스 형태로 작성해야 한다.
그 전에 클래스 안의 field 정보는 밑의 링크를 참고하여서 만들면 좋다.
https://docs.djangoproject.com/en/3.0/ref/models/fields/#field-types
board > models.py
from django.db import models # Create your models here. class Boards(models.Model): title = models.CharField(max_length = 100) Thumbnail = models.ImageField(upload_to="image") content = models.TextField() view_count = models.IntegerField(default = 0) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True)
그리고 이미지 파일을 저장할 때는HelloDjango 폴더안에 settings.py 에서 또 다른 설정을 해주어야 한다.
HelloDjango > settings.py
# 맨 밑에 이 코드를 추가 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
HelloDjango > settings.py
클래스 작성이 다 끝나게 되면, 이제 이 클래스를 테이블 형태로 만들어서 DB에 저장해야 한다.
cmd\Desktop\HelloDjango> python manage.py makemigrations
위의 사진처럼 나오면, board > migrations > 0001_initial.py라는 파일이 하나 만들어 졌을 것이다.
이 파일이 아까의 클래스를 테이블 형태로 만들어 놓은 것이다.
board > migrations > 0001_initial.py
이제 저 파일을 DB에 테이블로 만들면 된다.
cmd\Desktop\HelloDjango> python manage.py migrate
이렇게 해서 별 다른거 없이 다 OK로 끝나면, 성공적으로 Boards라는 테이블이 DB에 만들어 졌다는 것이다.
from http://ludeno-studying.tistory.com/26 by ccl(A) rewrite - 2020-03-07 04:20:53
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
댓글
댓글 쓰기