ㅎㅎ 저번 포스팅에 Django 프로젝트까지 생성해 보았다.

그다음 만든 프로젝트를 구동해보자

 

 

1. 앱 만들기

 

이제 앱을 만들어보자ㅏ

>>python manage.py startapp polls

 

 

그런데, 여기서 잠깐

프로젝트와 앱이 뭐가다를까?

 

앱은 웹 로그 시스템, 공개 레코드 데이터베이스 또는 소규모 설문 조사 앱과 같은 작업을 수행하는 웹 애플리케이션

 

프로젝트는 특정 웹 사이트에 대한 구성 및 앱 모음.

프로젝트에는 여러 앱이 포함될 수 있고. 앱은 여러 프로젝트에있을 수 있다.

 

 

그러면 polls라는 디렉토리가 생기며 그안에는 다음과 같은 파일이 생성되어져 있다.

 

polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

 

 

 

2. DATABASE 설치

 

python에서 SQLite를 기본 제공해서 설치안해도 된다.

 

mysite/settings.py안에 여러 설정이 있는데 그중,

DATABASE 설정을 바꿔주면 다른 DB도 사용 가능하다.

 

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

 

 

mysite/setting.py안의 INSTALLED_APPS에는 Django와 함께 딸려오는 앱을 포함한다. 필요없는 앱은

주석처리 해주면 된다.

 

django.contrib.admin -- 관리용 사이트. 곧 사용하게 될 겁니다.
django.contrib.auth -- 인증 시스템.
django.contrib.contenttypes -- 컨텐츠 타입을 위한 프레임워크.
django.contrib.sessions -- 세션 프레임워크.
django.contrib.messages -- 메세징 프레임워크.
django.contrib.staticfiles -- 정적 파일을 관리하는 프레임워크.

 

다음 앱들도 DB가 필요한데, 

다음 명령어를 수행시켜 데이터베이스를 만들어주자

 

>>python manage.py migrate

 

 

3. 모델만들기

Django는 ORM (Object Relational Mapping)을 지원해,

DB와 데이터 모델클래스를 연결해준다고 하였다.

 

그래서 모델을 만들어주면, 데이터베이스를 그에 맞게 반영해 줄 수 있다.

 

1. 다음과 같이 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)

 

2. 해당 앱도 DB에 반영 시켜주세요~ 라는걸 mysite/settings.py에서 INSTALED_APPS에 포함시켜준다. 

 

INSTALLED_APPS = [
    'polls.apps.PollsConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

 

3. 다음 명령어를 통해 변경된 migrations을 만들어준다.

 

>> python manage.py makemigrations polls

 

그러면 polls/migrations/하위에 001_initial.py 파일이 생성되는데

 

다음 명령어로 해당 migrations을 반영해준다.

>>pythjon manage.py sqlmigrate polls 0001

 

 

 

 

python manage.py makemigrations을 통해 이 변경사항에 대한 마이그레이션을 만드세요.


python manage.py migrate 명령을 통해 변경사항을 데이터베이스에 적용하세요.

 

 

3. 관리자 생성

>> python manage.py createsuperuser

 

 

이후 id/ pw 를 치고

 

서버기동 ( python manage.py runserver) 하고 , 

 

http://localhost:8000/admin으로 들어가면 어드민 페이지에 접속할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 


참고

https://docs.djangoproject.com/ko/3.0/intro/tutorial01/

 

첫 번째 장고 앱 작성하기, part 1 | Django 문서 | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

 

+ Recent posts