본문 바로가기
웹디자인 (HTML,JS)

Django를 사용하여 튜토리얼 애플리케이션 만드는 과정

by 날으는물고기 2023. 11. 9.

Django를 사용하여 튜토리얼 애플리케이션 만드는 과정

이 튜토리얼에서는 Django를 사용하여 간단한 설문조사(Polls) 애플리케이션을 만드는 과정을 단계별로 설명합니다.

 

단계 1: 프로젝트 생성

먼저 Django 프로젝트를 생성합니다. 프로젝트 디렉토리를 만들고, Django의 기본 구조를 생성하는 명령어입니다.

$ django-admin startproject mysite

프로젝트 디렉토리를 생성한 후, 다음과 같은 파일 및 디렉토리가 생성됩니다.

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

 

단계 2: 개발 서버 실행

프로젝트 디렉토리에서 개발 서버를 실행합니다.

$ python manage.py runserver

이렇게 하면 Django 개발 서버가 시작됩니다. 서버는 기본적으로 8000번 포트에서 실행됩니다. 웹 브라우저에서 http://127.0.0.1:8000/ 를 열어 확인할 수 있습니다.

 

단계 3: 설문조사 앱 생성

이제 설문조사 앱을 생성합니다. polls 앱을 만들기 위한 명령어는 다음과 같습니다.

$ python manage.py startapp polls

polls 앱을 생성한 후, 해당 앱 디렉토리에는 다음과 같은 파일과 디렉토리가 생성됩니다.

polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    urls.py
    views.py

 

단계 4: 첫 번째 뷰 작성

polls/views.py 파일을 열어 첫 번째 뷰를 작성합니다.

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

이 뷰는 간단한 HTTP 응답을 반환합니다.

 

단계 5: URLconf 설정

polls/urls.py 파일을 생성하고, 뷰와 URL 패턴을 연결합니다.

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

urlpatterns 리스트에 URL 패턴을 추가하고, 각 패턴은 특정한 뷰 함수와 연결됩니다.

 

단계 6: 최상위 URLconf에 포함

프로젝트의 최상위 URLconf(mysite/urls.py)에서 polls 앱의 URLconf를 포함합니다.

from django.contrib import admin
from django.urls import include, path

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

include() 함수를 사용하여 polls 앱의 URLconf를 포함합니다. 이렇게 하면 /polls/ 경로로 시작하는 URL이 polls 앱의 URLconf로 라우팅됩니다.

 

단계 7: 서버 실행 및 확인

마지막으로, 서버를 다시 실행하고 웹 브라우저에서 http://localhost:8000/polls/를 열어봅니다. 이제 "Hello, world. You're at the polls index." 메시지가 보일 것입니다.

이렇게 하나씩 단계를 따라가면서 Django 프로젝트와 앱을 설정하고 간단한 뷰를 만들었습니다. 이것은 Django 웹 애플리케이션을 만들기 위한 기본적인 시작 단계입니다. 이제 원하는 대로 앱을 확장하고 추가 기능을 구현할 수 있습니다.

 

Django 문서

728x90

댓글