728x90
반응형

장고 튜토리얼

이번 글에서는 장고 튜토리얼 예제인 polls 앱 예제를 가지고 장고에 대한 기본적인 이해와 

사용법에 대해 알아보겠습니다. 

 

파이썬 설치 

파이썬 홈페이지에서 윈도우용 파이썬 바이너리를 다운로드 받습니다. 

튜토리얼이 장고 버전이 4.0 기준으로 작성되어 있어 파이썬이 지원하는 3.8 버전으로 다운로드하여 설치합니다. 

  • 장고 호환성 버전 

 

 

https://www.python.org/downloads/windows/

 

Python Releases for Windows

The official home of the Python Programming Language

www.python.org

 

python 3.8 다운로드

설치후 윈도우 환경 변수를 세팅하면 끝입니다. 

 

윈도우 환경 변수 셋팅

 

파이썬 가상환경 생성 및 장고 설치 

  • 절차 
#파이썬 개발 디렉토리 생성 
mkdir pydev
cd pydev
 
#가상환경 디렉토리 생성 및 이동
mkdir venv
cd venv
 
#가상환경 생성
python -m venv pollsEnv
 
#가상환경 진입
#윈도우
pollsEnv\Scripts\activate
#리눅스
pollsEnv\bin\activate



#파이썬 팩키지 관리자 pip 업그레이드 
python  -m pip install --upgrade pip

#Django 설치 
pip install Django==4.0.4
  • 실행 과정 

장고 설치 이미지

Django 프로젝트 생성  및 실행 

django-admin startproject polls

python manage.py runserver

startproject 명령을 수행하면 manage.py , polls 디렉 토리가 생성됩니다. 

polls 디렉토리에 있는 python manage.py runserver 명령을 수행하면 장고 웹이 실행됩니다. 

 

python manage.py runserver 실행

  • 장고 웹 접속 (http://127.0.0.1:8000/)
  • 웹페이지에 접속을 하면 아래 화면 처럼 장고 웹페이지가 나옵니다. 

django 화면

 

파이참 다운로드 및 실행 

장고를 개발하기 위해서는 파이썬 개발 툴이 필수입니다. 
파이썬 공식 홈페이지에서 파이참을 다운 로드합니다. 

https://www.jetbrains.com/ko-kr/pycharm/download

 

무료 사용 버전인 윈도우 Community 버전을 다운로드 받아 설치 합니다. 

 

윈도우 Pycharm 다운로드

 

 

  • 앞서 만들었던 polls 프로젝트를 오픈합니다. 
장고 polls 프로젝트 오픈

 

 

 

반응형

 

파이참(Pycharm) 파이썬 장고 환경 설정 

Python Interpreter 설정 

파이참 메뉴에서 File-> Settings -> Project -> Python Interpreter 를 선택해서 파이선 환경을 셋팅합니다. .

 

python Interpreter 셋팅 그림

python Interpreter 셋팅을 마치면  윈도우 cmd 창에서 pip list 명령으로 파이썬 설치 리스트를 확인한 결과와 동일하게 

가상환경 설치 패키지를 확인할 수 있습니다.

python Interpreter 셋팅 후 그림

장고 실행 환경 설정 

파이썬 메뉴 중 Run -> Add new run Configuration -> Python 선택

  • Scripts : 장고 polls 프로젝트  manage.py 선택 
  • Prameters : runserver 기입

Run Configurations 설정

장고 프로 젝트 실행

Run -> Run.. 버튼을 누르거나 오른쪽 Run 버튼을 누르면 cmd 창에서 python manager.py runserver 명령과 동일하게 파이참에서 장고 프로젝트를 실행할 수 있습니다.  

파이참 장고 실행 화면

 

 

장고 polls 프로젝트 구조 변경

여러 블로그 글을 찾아보니 환경 설정은 별도의 디렉토리에서 관리하고 설정하는 것으로 보입니다. 

운영 환경과 개발 환경을 분리하기 위해 설정 파일을 별도로 분리해서 관리합니다. 

 

장고 polls 프로젝트 config 디렉 토리 생성 

  1. polls 디렉토리 이름 변경 : polls -> config
  2. settings 디렉토리 생성 
  3. settings.py -> base.py 로 이름 변경 
  4. base.py -> settings 디렉 토리 이동 

프로젝트 구조 변경

장고 polls 프로젝트 파일 내용 수정 

프로젝트 구조를 변경하면 3가지 파일을 변경해야 합니다. 

변경한 디렉토리 이름에 맞게 파일 내용을 수정합니다. 

헷갈리실 수 있으니 캡처된 그림을 참고하면서 수정합니다. 

 

1.manage.py

    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.base')

2.base.py(settings.py)

ROOT_URLCONF = 'config.urls'

WSGI_APPLICATION = 'config.wsgi.application'

3.wsgi.py

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.base')

파일 내용 수정

 

 

장고 한글 설정 

장고 웹페이지가 한글로 출력되도록 한글 셋팅을 추가합니다. 

base.py (settings.py)

LANGUAGE_CODE = 'ko-kr'

TIME_ZONE = 'Asia/Seoul'

 

장고 polls 프로젝트 앱 작성 

프로젝트만 만들어서는 어떤 웹서비스도 수행할 수 없습니다. 

실제 웹서비스를 수행하기 위해서 python manage.py startapp polls 명령을 통해 앱 서비스를 만들겠습니다. 

python manage.py startapp polls

파이참은 고맙게도 Terminal 이란 기능을 제공합니다. 

윈도우 cmd 창을 열어서 별도 수행할 필요 없이 파이참 Terminal 에서 위 명령을 수행합니다. 

polls 디렉토리가 생성되었고 디렉 토리 밑으로 여러 가지 파일이 생성되었습니다. 

polls 앱 파일 내용 수정 

실제로 서비스를 위한 첫 번째 작업을 시작해 보겠습니다 

1. 프로젝트 urls.py 파일 수정 

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

2. polls 앱 하위 디렉터리 urls.py 신규 파일 생성 

from django.urls import path

from . import views

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

3.polls/view.py 파일 내용 작성 

  • index 함수에서 작성한 출력 내용이 장고 화면에 보입니다.

 

from django.http import HttpResponse


def index(request):
    return HttpResponse(" 장고 튜토리얼 따라하기 첫번 째 ")
  • 파일 추가 및 수정된 파일 변경 사항을 다시 한번 확인해보시기 바랍니다. 

장고 polls  호출 순서

장고 polls 앱 접속 확인

http://127.0.0.1:8000/polls/ 로 접속합니다. 

간단하지만 view.py 에서 작성한 서비스가 출력되는 것을 확인할 수 있습니다. 

장고 호출 흐름도 다시 기억하기 

장고 서비스 호출 순서는  장고를 처음 시작하는 사람에게는 꼭 기억해야 할 중요한 부분인 것 같습니다.

project urls.py -> app urls.py -> app view.py 순서로 호출을 합니다. 

 

중요한 부분이고 헷갈리는 부분이라 다시 한번 정리하고 넘어가겠습니다. 

 

다음 장에서는 MySql과 장고 연동하는 방법에 대해 알아보겠습니다. 

728x90
반응형

+ Recent posts