Django

part 1. 요청과 응답

판다조아 2022. 6. 28. 13:48

시작하기 전에 먼저 코드를 작성할 수 있는 에디터 툴을 설치해 줍니다.

https://code.visualstudio.com/Download

 

Download Visual Studio Code - Mac, Linux, Windows

Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications.

code.visualstudio.com

 

 

 

 

이 튜토리얼을 통해, 간단한 설문조사(Polls) 어플리케이션을 만드는 과정을 따라 해 보겠습니다.

두 파트로 구성되어 있습니다.

  • 사람들이 설문 내용을 보고 직접 투표할 수 있는 개방된 사이트
  • 관리자가 설문을 추가, 변경, 삭제할 수 있는 관리용 사이트

 

 

 

 

 

기존에 설치한 파이썬과 장고 라이브러리가 잘 설치 되었는지

py -m django --version 명령어를 이용하여 확인해 보겠습니다.

 

 

 

저는 기존에 가상환경내 개발환경을 구성후 장고를 설치했기 때문에

가상환경을 구동(cd myenv -> cd Scripts -> activate.bat)한 후 입력해주었습니다!

4.0.5 버전의 장고가 설치되어 있네요!

 

 

 

 

 

 

 

 

 

프로젝트 만들기

원하는 디렉토리로 이동 후

django-admin startproject mysite를 입력하여

'mysite'라는 프로젝트를 생성해 줍니다.

 

 

 

 

 

 

기존에 설치한 에디터 툴에 방금 생성한 프로젝트를 추가합니다.

 

 

 

파일들에 대한 설명입니다. 간단히 읽고 넘어갑니다 !

파일 설명
manage.py Django 프로젝트와 다양한 방법으로 상호작용 하는 커맨드라인의 유틸리티 입니다.
mysite/__init__.py Python으로 하여금 이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 단순한 빈 파일입니다. Python 초심자라면, Python 공식 홈페이지의 패키지를 읽어보세요.
mysite/settings.py 현재 Django 프로젝트의 환경 및 구성을 저장합니다.
mysite/urls.py 현재 Django project 의 URL 선언을 저장합니다. Django 로 작성된 사이트의 “목차” 라고 할 수 있습니다.
mysite/asgi.py 현재 프로젝트를 서비스하기 위한 ASGI-호환 웹 서버의 진입점입니다.
mysite/wsgi.py 현재 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점입니다.
  • mysite/ 디렉토리 내부에는 프로젝트를 위한 실제 Python 패키지들이 저장됩니다. 이 디렉토리 내의 이름을 이용하여, (mysite.urls 와 같은 식으로) 프로젝트의 어디서나 Python 패키지들을 임포트할 수 있습니다.

 

 

 

 

 

 

 

 

개발 서버

py manage.py runsurver 명령어를 입력하여

서버를 구동하고 우리의 장고가 제대로 동작되는지 확인해 보도록 하겠습니다!

 

 

서버가 정상적으로 구동되었습니다 !

하단의 해당 주소로 접속하면 프로젝트가 동작하는 것을 확인할 수 있습니다.

(현재 구동중인 웹서버는 순수 python으로 작성된 웹서버이기 때문에 오로지 개발 목적으로만 사용해야 합니다!)

 

 

 

 

 

 

 

 

 

 

설문조사 앱 만들기

프로젝트와 앱은 무엇이 다를까요?

프로젝트는 'mysite'와 같은 앱의 묶음이고

은 블로그 시스템, 공개 기록 데이터베이스 또는 소규모 의견조사 앱과 같은

특정한 기능을 수행하는 웹 어플리케이션을 말합니다.

 

 

 

py manage.py startapp polls를 입력하여 앱을 생성합니다.

 

에디터 툴을 보면 'polls'라는 앱이 생성된 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

첫 번째 뷰 작성하기

 polls/view.py”를 열어 다음과 같은 파이썬 코드를 입력합니다

from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world.")

 

 

 

 

 

 

작성한 view를 호출하기 위해서 url 코드를 작성하고 view와 연결해주어야 합니다.
polls에 url파일이 없기때문에 생성후 해당 코드를 입력해줍니다.

from django.urls import path

from . import views

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

 

 

 

 

 

 

 

최상위 URLconf에 방금만든 polls앱 urls을 연결합니다.
(최상위 URLconf는 mysite -> urls 내부에 있습니다.)
연결을 위해 다음 코드를 작성합니다.

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

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

 

include 함수를 이용해 polls앱 urls을 참조하도록 하였습니다.

▶ include() 함수는 다른 URLconf들을 참조할 수 있도록 도와줍니다. Django가 함수 include()를 만나게 되면, URL의 그 시점까지 일치하는 부분을 잘라내고, 남은 문자열 부분을 후속 처리를 위해 include 된 URLconf로 전달합니다.

 

 

 

 

 

 

 

 

프로젝트가 이상없이 동작을 하는지 서버를 구동하여 확인해 보겠습니다!

py manage.py runsurver

주소 뒤에 polls를 입력해 주세요.

(http://127.0.01:8000/polls/)

 

 

 

 

 

 

 

우리의 장고 어플리케이션이 정상적으로 동작한것을 확인할 수 있습니다!

 

 

 

 

 

 

 

출처 : django 웹 프로그래밍 강좌 (#1 Django app)(프로젝트 생성, app 생성, 서버 구동, django cycle)

django part1