Django로 Hello World 웹사이트 만들기

이대현·2020년 6월 1일
0

Django

목록 보기
3/11
post-custom-banner

1. project 생성

  1. 가상환경이 켜진 상태에서 helloworld 라는 프로젝트 폴더를 생성한다.

    django-admin startproject helloworld
  2. 터미널 경로를 생성된 프로젝트 폴더로 이동한다.

2. app 생성

  1. manage.py 파일이 있는 프로젝트 폴더 내에 print 앱 폴더를 생성한다.

    python manage.py startapp print

3. project 와 app 연결하기

app을 만들었지만 project는 그 app의 존재를 아직 모른다. 그래서 app을 만들었다고 등록해주는 절차가 필요하다.

helloworld/settings.py 수정

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

settings.py 파일에 INSTALLED_APPS 영역에 print.apps.printConfig 을 추가해준다.

print/apps.py 파일을 열어보면 printConfig 라는 클래스가 정의되어 있는데, 그것을 등록해주는 절차이다.

4. Template 만들기

template은 유저가 보는 화면이라 생각하면 된다. app폴더 안에 templates폴더를 만들고, template 내부에 html 파일들을 넣어준다.

print/templates/helloworld.html

<h1>
    Hello, world!
</h1>

5. app 기능 구현하기

views.py 파일에서 print 앱의 기능을 구현할 수 있다. # Create your views here 주석 아래에 사용할 함수를 정의해 주면 된다.

print/views.py

from django.shortcuts import render

# Create your views here.


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

print 앱은 특별한 기능이 필요하지는 않을 것 같다. 요청이 들어오면 helloworld.html 파일을 열어주는 helloworld 이라는 함수를 구현했다.

6. URL 요청을 views에 연결하기

helloworld/urls.py

  1. app 폴더 안에 있는 views.py의 함수를 import 해온다.

    import print.views
  2. urlpatterns에 path를 추가한다.

    urlpatterns = [
        path('admin/', admin.site.urls), # 원래 있던 path
        path('', print.views.helloworld, name='helloworld'),
    ]

urlpattern 작성법

path() 함수는 3가지 인수를 받는다.

path(경로, view에 정의된 함수, 이름)
  • 경로 : 도메인 뒤에 붙는 url 부분이다. 예를 들어 http://127.0.0.1:8000/ 뒤에 admin/ 을 입력하면, 어드민 페이지가 나올 것이다. helloworld.html 과 연결되는 path 는 ' ' 로 아무것도 적지 않았다. 기본 홈화면이 되는 것이다.

  • view에 정의된 함수 : print폴더 속 views파일 속 helloworld 라고 정의된 함수를 실행시키겠다는 의미이다.

  • 이름 : name='helloworld'은 이 path의 이름을 helloworld라고 정의한다. 이렇게 정의된 이름은 django프로젝트 어디에서든 helloworld라고 불러서 호출할 수 있다.

    가능한 함수 이름과 path 이름을 일치시켜주는 게 (정신건강에)좋다.

완성된 helloworld/urls.py

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

urlpatterns = [
    path('admin/', admin.site.urls), # 원래 있던 path
    path('', print.views.helloworld, name='helloworld'),
]

7. 서버 실행하기

프로젝트가 완성됐다! 터미널에 아래 명령어를 입력해 어떤 웹사이트가 만들어졌는지 확인할 수 있다.

python manage.py runserver

http://127.0.0.1:8000/ 로 브라우저 창을 열어서 확인해보자.

서버를 종료하려면 터미널에서 ctrl + c 를 누르면 된다.

profile
삽질의 기록들 👨‍💻
post-custom-banner

0개의 댓글