Tutorial 장고 튜토리얼 - 3 : Polls App 1
페이지 정보
본문
장고 튜토리얼에 따라 진행한 과정을 기록하고 설명한 것.
https://docs.djangoproject.com/
-----------------------
장고 튜토리얼 - 3 : Polls App 1
- $ python manage.py startapp polls
polls 디렉토리가 생성되고 기본 파일들이 추가되었다. - polls 앱을 간단하게 실행해보자.
- polls/views.py from django.http import HttpResponsedef index(request):return HttpResponse("왔냐? 여기가 뿅뿅 장고 오락실이다!")
- polls/urls.py : urls.py는 초기에 생성되지 않으므로 추가로 생성해야한다. from django.urls import pathfrom . import viewsurlpatterns = [path('', views.index, name='index'),]
- urls.py : 루트의 urls.py 파일from django.contrib import adminfrom django.urls import include, pathurlpatterns = [path('polls/', include('polls.urls')),path('admin/', admin.site.urls),]
- 이렇게 세개의 파일을 작성 저장하고 runserver.
(* 개발서버인 runserver는 view와 urls 등의 수정사항을 자동으로 적용하므로 실행중일 경우 재실행할 필요없다. 추후 guicorn등의 배포서버는 이와 달리 수정했을 경우 재실행해주어야 한다)
- polls/views.py
- 127.0.0.1:8000/polls/
결과화면 - Settings.py 설정 변경 > Polls 앱의 모델(models.py = db)을 작성하기 전에 Settings.py 파일을 변경하자.
INSTALLED_APPS에 polls 앱 추가
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','polls', # 설치 앱]- 언어/시간 관련 설정 변경>># InternationalizationLANGUAGE_CODE = 'en-us'TIME_ZONE = 'UTC'USE_I18N = TrueUSE_TZ = True# InternationalizationLANGUAGE_CODE = 'ko-kr' # 수정TIME_ZONE = 'Asia/Seoul' # 수정USE_I18N = TrueUSE_TZ = False # 수정
- polls 앱 즉 설문조사 앱에 질문과 선택이라는 2개의 클래스(=모델=테이블)를 작성(생성)한다.
polls/models.pyfrom django.db import modelsclass 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) - 모델을 추가했으니 makemigrations와 migrate를 실행해야한다.
- polls/admin.py : 관리자 Admin 툴에 모델 추가하기 >> 관리자에서 직접 추가하거나 수정할 수 있도록... from django.contrib import adminfrom.models import Question, Choiceadmin.site.register(Question)admin.site.register(Choice)
- 관리자 화면 - Polls 앱과 Question / Choice 모델이 추가 되어 있다.