ㅎㅎ 저번 포스팅에 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/
'DEVELOP > Backend' 카테고리의 다른 글
python pip Proxy 설정하기 (0) | 2020.03.24 |
---|---|
Django 시작하기 [3] Django MVC 패턴 (0) | 2020.03.18 |
Django 시작하기 [1] Python , Django 설치 및 프로젝트 생성 (0) | 2020.03.18 |
Spring에서 Async 처리 (@Async ) (0) | 2020.03.06 |
테스트에서 @Transactionl 어노테이션 (0) | 2019.07.29 |