장고 튜토리얼 - 3 : Polls App 1 > 장고 DJango

장고 DJango

Tutorial 장고 튜토리얼 - 3 : Polls App 1

페이지 정보

본문

장고 튜토리얼에 따라 진행한 과정을 기록하고 설명한 것. 

https://docs.djangoproject.com/  

----------------------- 


장고 튜토리얼 - 3 :  Polls App 1  


  1. $ python manage.py startapp polls 
    55ba892859ccf01c88442be8dd14173a_1662781875_2925.png
    polls 디렉토리가 생성되고 기본 파일들이 추가되었다. 

  2. polls 앱을 간단하게 실행해보자. 
    1. polls/views.py 
      from django.http import HttpResponse

      def index(request):
          return HttpResponse("왔냐? 여기가 뿅뿅 장고 오락실이다!")
    2. polls/urls.py  : urls.py는 초기에 생성되지 않으므로 추가로 생성해야한다. 
      from django.urls import path
      from . import views

      urlpatterns = [
          path('', views.index, name='index'),
      ]
    3. urls.py : 루트의 urls.py 파일
      from django.contrib import admin
      from django.urls import include, path

      urlpatterns = [
          path('polls/', include('polls.urls')),
          path('admin/', admin.site.urls),
      ]
    4. 이렇게 세개의 파일을 작성 저장하고 runserver. 
      (* 개발서버인 runserver는 view와 urls 등의 수정사항을 자동으로 적용하므로 실행중일 경우 재실행할 필요없다. 추후 guicorn등의 배포서버는 이와 달리 수정했을 경우 재실행해주어야 한다) 

  3. 127.0.0.1:8000/polls/ 
    결과화면 
    55ba892859ccf01c88442be8dd14173a_1662782806_389.png
  4. Settings.py 설정 변경 > Polls 앱의 모델(models.py = db)을 작성하기 전에 Settings.py 파일을 변경하자. 
    1. INSTALLED_APPS에  polls 앱 추가 

      INSTALLED_APPS = [
          'django.contrib.admin',
          'django.contrib.auth',
          'django.contrib.contenttypes',
          'django.contrib.sessions',
          'django.contrib.messages',
          'django.contrib.staticfiles',

          'polls', # 설치 앱
      ]
    2. 언어/시간 관련 설정 변경
      # Internationalization

      LANGUAGE_CODE = 'en-us'

      TIME_ZONE = 'UTC'

      USE_I18N = True

      USE_TZ = True
      >>
      # Internationalization

      LANGUAGE_CODE = 'ko-kr' # 수정

      TIME_ZONE = 'Asia/Seoul' # 수정

      USE_I18N = True

      USE_TZ = False # 수정



  5.  polls 앱 즉 설문조사 앱에 질문과 선택이라는 2개의 클래스(=모델=테이블)를 작성(생성)한다. 
    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)
  6. 모델을 추가했으니 makemigrations와 migrate를 실행해야한다. 
    55ba892859ccf01c88442be8dd14173a_1662816673_8491.png

  7. polls/admin.py : 관리자 Admin 툴에 모델 추가하기 >> 관리자에서 직접 추가하거나 수정할 수 있도록... 
    from django.contrib import admin
    from.models import Question, Choice
       
    admin.site.register(Question)
    admin.site.register(Choice)



  8. 관리자 화면 - Polls 앱과 Question / Choice 모델이 추가 되어 있다.
     55ba892859ccf01c88442be8dd14173a_1662786317_004.png 


장고는? 장고(DJango)는 파이썬(python)으로 제작된 오픈 소스 풀 스택 웹프레임워크입니다.