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 입니다. 앞으로 페이지 만들기 위해서는 아래순서에 따라 작업해야한다고 외워둡시다.
- settings.py ⇒ project에게 app의 존재 알리기
- templates ⇒ views.py에서 처리된 데이터를 받아 사용자에게 화면을 보여줌
- views.py ⇒ 데이터를 처리하는 함수 작성
- urls.py ⇒ 요청에 맞는 함수를 views.py에서 찾아 요청 전달
settings.py → templates → views.py → urls.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'),
]
- project를 만들고,
- app을 만들고,
- project에 app을 연결하고,
- app에서 templates폴더를 만들고 그 안에 html파일(template)을 만들고,
- app에서 views.py를 만든다음,
- 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 |