Skip to content

3-5. Hellow World Django Project

First Django Project

프로그래밍 언어를 배우는 첫 번째 실습 예제인 Hellow World 프로그램입니다. 이번 장에서는 파이썬 장고 프레임워크를 이용한 헬로우 장고 월드 프로그램을 작성해 보겠습니다.

3-5-1. 기본 디렉토리 구조

프로젝트 폴더 구조

실습 및 혼선을 예방하기 위해서 아래와 같은 구조로 폴더를 구성합니다.

C:\hyungsik74\pycharm\helloworld-project

C:\{github-ID}\pycharm\helloworld-project

{github-ID}: hyungsik74 (본인의 Github ID) pycharm: pycharm (고정 값) {project-name}: helloworld-project (고정 값)

** 파이참에서 File > New Porjet ...
위에서 정의한 디렉토리명으로 Create Pject 를 생성합니다.

ch03-05-01_01.png 그림5-1-1 Create Project

ch03-05-01_02.png 그림5-1-1 Create Project Location 설정

3-5-2. 장고 설치 확인

...\> python --version
...\> python -m django --version
...\> python -m pip install django
$ ...\> python --version
$ ...\> python -m django --version
$ ...\> python -m pip install django

ch03-05-02_01.png 그림5-2-1 가상환경(vEnv)에 Django 설치

3-5-3. 장고 신규 프로젝트 생성

C:\hyungsik74\pycharm\helloworld-project> cd C:\hyungsik74\pycharm\helloworld-project
C:\hyungsik74\pycharm\helloworld-project> django-admin startproject config .
...\> cd /home/hyungsik74/pycharm/helloworld-project/
$ /home/hyungsik74/pycharm/helloworld-project> django-admin startproject config .

명렁에서 제일 마지막 .을 꼭 포함합니다. 장고프로 젝트 관련 파일은 Config 폴더에 생성됩니다.
django-admin startproject config .

ch03-05-03_01.png 그림5-3-1 Django 신규 프로젝트 생성

3-5-4. 기본 DB테이블 생성

C:\hyungsik74\pycharm\helloworld-project> cd C:\hyungsik74\pycharm\helloworld-project
C:\hyungsik74\pycharm\helloworld-project> python manage.py migrate
...\> cd /home/hyungsik74/pycharm/helloworld-project/
$ /home/hyungsik74/pycharm/helloworld-project> python manage.py migrate

ch03-05-04_01.png 그림5-4-1 Django 관리자 기본 테이블 생성

3-5-5. 관리자 계정 생성

C:\hyungsik74\pycharm\helloworld-project> cd C:\hyungsik74\pycharm\helloworld-project
C:\hyungsik74\pycharm\helloworld-project> python manage.py createsuperuser
...\> cd /home/hyungsik74/pycharm/helloworld-project/
$ /home/hyungsik74/pycharm/helloworld-project> python manage.py createsuperuser

ch03-05-05_01.png 그림5-5-1 Django 관리자 계정 생성

3-5-6. 기본 프로젝트만 실행

C:\hyungsik74\pycharm\helloworld-project> cd C:\hyungsik74\pycharm\helloworld-project
C:\hyungsik74\pycharm\helloworld-project> python manage.py runserver
...\> cd /home/hyungsik74/pycharm/helloworld-project/
$ /home/hyungsik74/pycharm/helloworld-project> python manage.py runserver

ch03-05-06_01.png 그림5-6-1 Django 프로젝트 실행

ch03-05-06_02.png 그림5-6-2 Django 프로젝트 화면

ch03-05-06_03.png 그림5-6-3 Django 관리자 로그인 화면

ch03-05-06_04.png 그림5-6-4 Django 관리자 페이지 예

3-5-7. 장고 어플리케이션 생성

C:\hyungsik74\pycharm\helloworld-project> cd C:\hyungsik74\pycharm\helloworld-project
C:\hyungsik74\pycharm\helloworld-project> python manage.py startapp home
...\> cd /home/hyungsik74/pycharm/helloworld-project/
$ /home/hyungsik74/pycharm/helloworld-project> python manage.py startapp home

ch03-05-07_01.png 그림5-7-1 Django 어플리케이션 생성

3-5-8. 장고 프로젝트와 어플리케이션 연결

C:\hyungsik74\pycharm\helloworld-project> cd C:\hyungsik74\pycharm\helloworld-project\config
C:\hyungsik74\pycharm\helloworld-project\config> notepad settings.py
...\> cd /home/hyungsik74/pycharm/helloworld-project/config
$ /home/hyungsik74/pycharm/helloworld-project/config> vi settings.py
py
# Application definition
INSTALLED_APPS = [
    'home.apps.HomeConfig',         #---> 이 부분 추가 함.
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
# Application definition
INSTALLED_APPS = [
    'home.apps.HomeConfig',         #---> 이 부분 추가 함.
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

3-5-9. Tempplate 만들기

C:\hyungsik74\pycharm\helloworld-project> cd C:\hyungsik74\pycharm\helloworld-project\home
C:\hyungsik74\pycharm\helloworld-project\home> mkdir templates
C:\hyungsik74\pycharm\helloworld-project\home> mkdir templates\home
C:\hyungsik74\pycharm\helloworld-project\home> cd templates\home
C:\hyungsik74\pycharm\helloworld-project\home\templates\home> notepad index.html
...\> cd /home/hyungsik74/pycharm/helloworld-project/home
$ /home/hyungsik74/pycharm/helloworld-project/home> mkdir templates
$ /home/hyungsik74/pycharm/helloworld-project/home> mkdir templates/home
$ /home/hyungsik74/pycharm/helloworld-project/home> cd templates/home
$ /home/hyungsik74/pycharm/helloworld-project/home/templates/home> vi index.html
html
<h1>
    Hello Django World !!!
</h1>
<h1>
    Hello Django World !!!
</h1>

3-5-10. View 만들기

C:\hyungsik74\pycharm\helloworld-project> cd C:\hyungsik74\pycharm\helloworld-project\home
C:\hyungsik74\pycharm\helloworld-project\home> notepad views.py
...\> cd /home/hyungsik74/pycharm/helloworld-project/home
$ /home/hyungsik74/pycharm/helloworld-project/home> vi views.py
py
from django.shortcuts import render

# Create your views here.

def index(request):
    return render(request, 'home/index.html')
from django.shortcuts import render

# Create your views here.

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

3-5-11. URL 연결

C:\hyungsik74\pycharm\helloworld-project> cd C:\hyungsik74\pycharm\helloworld-project\config
C:\hyungsik74\pycharm\helloworld-project\config> notepad urls.py
C:\hyungsik74\pycharm\helloworld-project> cd C:\hyungsik74\pycharm\helloworld-project\home
C:\hyungsik74\pycharm\helloworld-project\home> notepad urls.py
...\> cd /home/hyungsik74/pycharm/helloworld-project/config
$ /home/hyungsik74/pycharm/helloworld-project/config> vi urls.py
...\> cd /home/hyungsik74/pycharm/helloworld-project/home
$ /home/hyungsik74/pycharm/helloworld-project/home> vi urls.py
py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path("home/", include("home.urls")),
    path("admin/", admin.site.urls),
]
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path("home/", include("home.urls")),
    path("admin/", admin.site.urls),
]
py
from django.urls import path
from . import views

app_name = "home"
urlpatterns = [
    path("", views.index, name="index"),
]
from django.urls import path
from . import views

app_name = "home"
urlpatterns = [
    path("", views.index, name="index"),
]

3-5-12. Helloworld 실행하기

C:\hyungsik74\pycharm\helloworld-project> cd C:\hyungsik74\pycharm\helloworld-project
C:\hyungsik74\pycharm\helloworld-project> python manage.py runserver
...\> cd /home/hyungsik74/pycharm/helloworld-project
$ /home/hyungsik74/pycharm/helloworld-project> python manage.py runserver

ch03-05-12_01.png 그림5-12-1 Django 프로젝트 실행

축하합니다 !!.

파이썬 장고 웹 프로그래밍 세계로 오신것을 환영합니다.

장고를 이용해서 멋진 웹 프로그래밍을 도전하세요.

ch03-05-12_02.png 그림5-12-2 Hello Django World !!!

Released under the MIT License.