프로그램/파이썬(Python)

디장고 프로젝트 만들기와 흐름 (Make the Django project and Flow)

EVEWorld 2021. 1. 14. 16:09

 

docs.djangoproject.com/ko/3.1/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

프로젝트 만들기

예제) 간단한 설문조사(Polls) 어플리케이션을 만드는 과정을 따라해 보겠습니다.

두 파트로 구성되어 있습니다.

* 사람들이 설문 내용을 보고 직접 투표할 수 있는 개방된 사이트

* 관리자가 설문을 추가, 변경, 삭제할 수 있는 관리용 사이트

 

팁 : 리눅스 명령어와 윈도우즈 명령어 선택

Django 버전 확인하는 명령어

이 테스트를 하기 위해 프로젝트의 가상 환경이 활성화 되어 있어야 합니다. (activate.bat)

 

cd를 이용하여 프로젝트를 저장 할 폴더로 이동

 

"django-admin startproject mysite" -> 옮겨간 폴더에 mysite 라는 프로젝트를 생성해라.

프로젝트 폴더 구성

이 중에서 urls.py 와 settingspy 파일을 눈여겨 보아야 합니다.

 

Django 의 흐름

개발 서버

"py manage.py runserver" 엔터 -> 서버를 구동하고 Django가 제대로 작동하는지 확인한다.

서버 구동 중

http://127.0.0.1:8000 으로 확인 가능 합니다.

이 때 포트를 변경하고자 하는 경우

"py manage.py runserver 8080" 이렇게 변경 할 수 있습니다.

 

설문조사 앱 만들기

프로젝트와 앱의 차이점은 무엇입니까? 
앱은 웹 로그 시스템, 공개 기록 데이터베이스 또는 소규모 설문 조사 앱과 같은(특정) 작업을 수행하는 웹 애플리케이션입니다. 

 

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

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

 

특정 기능을 하는 모듈을 앱이라고 합니다. 이러한 앱들을 이용해서 하나의 프로젝트를 만들게 됩니다.

 

앱을 생성해 봅시다.

 

"py manage.py startapp polls" 엔터 -> polls라는 앱을 만듭니다. (예제 : 투표 담당)

 

첫번째 뷰 작성하기

/polls/views.py 화일에 아래와 같이 코딩

from django.http import HttpResponse

 

def index(request):

     return HttpResponse("Hello, world. You're at the polls index.")

 

views 코드를 호출하기 위해 urls.py 를 생성해서 views와 연결을 해 줘야 합니다.

 

urls.py 에 아래와 같이 코딩

 

from django.urls import path

from . import views

urlpatterns = [ path('', views.index, name='index'), ]

 

다음 단계는, 최상위 URLconf 에서 polls.urls 모듈을 바라보게 설정합니다.

mysite/urls.py 파일을 열고, django.urls.include를 import 하고, urlpatterns 리스트에 include() 함수를 다음과 같이 추가합니다.

from django.contrib import admin

from django.urls import include, path

urlpatterns = [

    path('polls/', include('polls.urls')),  # include()를 이용하여 polls의 urls.py 와 연결

    path('admin/', admin.site.urls),

]

 

이렇게 하면 127.0.0.1/polls/ 의 polls.urls (/mysite/urls.py)와 연결을 해 줍니다.

그리고 /polls/urls.py 에서는 views.index 와 연결을 해 줍니다.

그리고 /polls/views.py 의 index() 는 수행에 맞는 결과 값을 클라이언트에게 전달을 해줍니다.

 

정상적으로 연결이 됐는지 확인하기

"py manage.py runserver" 엔터

http://127.0.0.1:8000/polls/ 또는 http://localhost:8000/polls/ 연결 하면 아래와 같은 결과가 출력 된다.