Django tutorial part 2

백승찬·2020년 10월 27일
0

django

목록 보기
3/11

장고 튜토리얼

데이터베이스 설치

기본적으로 SQLite을 사용하도록 구성됨

기본적인 Django와 함께 딸려오는 어플리케이션들

  • django.contrib.admin -- 관리용 사이트. 곧 사용하게 될 겁니다.

  • django.contrib.auth -- 인증 시스템.

  • django.contrib.contenttypes -- 컨텐츠 타입을 위한 프레임워크.

  • django.contrib.sessions -- 세션 프레임워크.

  • django.contrib.messages -- 메세징 프레임워크.

  • django.contrib.staticfiles -- 정적 파일을 관리하는 프레임워크.

모델 만들기

모델이란 부가적인 메타데이터를 가진 데이터베이스의 구조(layout)

polls/models.py

from django.db import models


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')


class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)
  • 데이터베이스의 각 필드는 Field클래스의 인스턴스로서 표현

  • CharField는 문자필드를 표현하고 DateTimeField는 날짜와 시간필드를 표현

  • 각각의 Field 인스턴스의 이름(question_text, pub_date)은 기계가 읽기 좋은 형식의 데이터베이스 필드 이름입니다.

  • Field클래스의 생성자에 선택적인 첫번째 위치 인수를 전달하여 사람이 읽기 좋은 이름을 지정 가능

  • Field 클래스들은 필수 인수들을 가질 수 있다. Ex) CharField의 경우 max_length을 입력해 주어야 한다.

  • Field 는 다양한 인수들을 가질 수 있다.

  • ForeighKey => 관계설정에 쓰임

모델의 활성화

Django는 위의 정보를 가지고 다음과 같은 작업을 수행함

  • 이 앱을 위한 데이터베이스 스키마 생성 (CREATE TABLE문)

  • Question과 Choice 객체에 접근하기 위한 python 데이터베이스 접근 API를 생성

앱을 현재의 프로젝트에 포함시키기 위해서는 앱의 구성 클래스에 대한 참조를 INSTALL_APPS 설정에 추가해야한다.
PollsConfig 클래스는 polls/appp.py 파일 내에 존재 따라서 점으로 구분된 경로는 'polls.apps.PollsConfig' 가 된다 이점으로 구분된 경로를 mysite/settings.py 파일을 편집하여 INSTALL_APPS 설정에 추가 하면 된다.

  • makemigrations을 실행 시킴

  • user가 모델을 변경시킨 사실과 이 변경사항을 migration으로 저장시키고 싶다는 것을 Django에게 알림

  • migrate = user을 위해 migration들을 실행 시켜주고, 장동으로 데이터베이스 스키마를 관리해주는

0개의 댓글