본문 바로가기

Web Programming/Django

Hello World 이론 & 실습

Hello World 이론 & 실습


가상환경 켜기

장고 프로젝트를 시작하려면 가장 먼저 가상환경을 켜야합니다.

source myvenv/Script/Activate

첫번째 Django 프로젝트 시작하기

가상환경이 켜진 상태에서 바로 아래 명령어를 입력해서 프로젝트를 만듭니다.

django-admin startproject firstsite

Django 서버 작동시키기

밑기진 않겠지만 우리의 첫번째 프로젝트 생성이 끝났습니다. 아래 명령어를 통해 어떤 웹사이트가 만들어졌는지 확인해봅시다.

python manage.py runserver

서버를 동작시키면 다음과 같은 페이지가 나타나게 된다.



그 다음, 이제 Hello world 를 출력하는 페이지를 처리하고자 한다.

app 만들기

app은 프로젝트의 구성 단위이다. 

app이 프로젝트의 작은 부분들이고, app이 모인것이 project가 된다.

다음의 명령어를 통해 app을 만들어준다.

(app을 만들때 명령을 내리는 경로를 잘 확인하세요. app은 어디에 만들어도 상관없지만, 편의를 위해 manage.py가 있는 폴더에서 명령을 내리는 것을 추천합니다.)

python manage.py startapp hello

hello 폴더 안에서 일단 알아야 할 파일은 views.py 입니다. 앞으로 페이지 만들기 위해서는 아래순서에 따라 작업해야한다고 외워둡시다.

  1. settings.py ⇒ project에게 app의 존재 알리기
  2. templates ⇒ views.py에서 처리된 데이터를 받아 사용자에게 화면을 보여줌
  3. views.py ⇒ 데이터를 처리하는 함수 작성
  4. urls.py ⇒ 요청에 맞는 함수를 views.py에서 찾아 요청 전달

settings.pytemplatesviews.pyurls.py 순으로 연결하는 작업을 하면됩니다. 작업순서는 그냥 외우면 좋습니다.


1. project에 app의 존재 알리기 : settings.py

hello라는 app을 만들었지만 project는 그 app의 존재를 아직 모릅니다. 그래서 app을 만들었다고 등록해주는 절차가 필요합니다. settings.py파일을 열면 아래와 같은 영역이 있습니다.

여기에 만든 app을 추가해줍니다. ( 앱이름.apps.앱(첫글자 대문자)Config )

INSTALLED_APPS = [
    'hello.apps.HelloConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

2. Template만들기

template은 유저가 보는 화면이라 생각하면 됩니다. 웹 기본 강의에서 배웠던 html파일을 만든다고 생각하면 됩니다. 만드는 방법은 app폴더 안에 templates라는 폴더를 만들고 그 안에 html파일을 만들면 됩니다.


3. 앱 기능 구현하기 : views.py 에 함수만들기

app의 기능을 구현하는 부분이 이 views.py입니다. 열어보면 from으로 시작하는 import 구문과 주석 한줄 딸랑 있습니다. 아래에 우리가 사용할 함수를 정의해 주면 됩니다.

from django.shortcuts import render

# Create your views here.


def home(request):
    return render(request, 'home.html')

4. URL 요청을 views에 연결하기 : urls.py

먼저 firstproject 폴더안의 urls.py를 열면 아래와 같은 코드가 적혀있습니다.

위에 친절한 주석은 나중에 읽어보시기 바랍니다. 일단 urls.py에서 hello폴더안에 있는 views.py을 읽어와야하니 import를 해줍니다.

from django.contrib import admin
from django.urls import path
import hello.views

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

hello.views는 hello폴더안에 views 파일이라는 뜻입니다. 이렇게 import 했으면 urlpatterns에 path를 추가해줍니다.

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', hello.views.home, name='home'),
]
그리고 서버를 돌리면 우리가 만들었던 view 파일이 잘 출력이 되는 것을 확인할 수 있다.
순서를 정리하면 다음과 같다.

  1. project를 만들고,
  2. app을 만들고,
  3. project에 app을 연결하고,
  4. app에서 templates폴더를 만들고 그 안에 html파일(template)을 만들고,
  5. app에서 views.py를 만든다음,
  6. urls.py에서 templates안의 html파일과 연결해주는 과정입니다.

'Web Programming > Django' 카테고리의 다른 글

Home & Detail (Blog 모델 상세 페이지)  (0) 2019.01.31
Model & Admin  (0) 2019.01.21
Word Counter 만들기  (0) 2019.01.17
MTV 패턴  (0) 2019.01.08
Python & Django 설치 및 세팅  (0) 2019.01.08