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 를 생성합니다.
그림5-1-1 Create Project
그림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
그림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 .
그림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
그림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
그림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
그림5-6-1 Django 프로젝트 실행
그림5-6-2 Django 프로젝트 화면
그림5-6-3 Django 관리자 로그인 화면
그림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
그림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
# 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
<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
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
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),
]
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
그림5-12-1 Django 프로젝트 실행
축하합니다 !!.
파이썬 장고 웹 프로그래밍 세계로 오신것을 환영합니다.
장고를 이용해서 멋진 웹 프로그래밍을 도전하세요.
그림5-12-2 Hello Django World !!!