django - 튜토리얼 part1

whybein·2020년 2월 6일
0

django

목록 보기
3/13
post-thumbnail

https://docs.djangoproject.com/ko/3.0/intro/tutorial01/
장고 튜토리얼을 시작합니다.(part 4까지만 다룰 예정입니다.)

튜토리얼에서는 설문조사 기능이 있는 mysite라는 프로젝트를 장고로 만드는 과정을 진행합니다.

1. 먼저 가상환경을 설정하고 장고를 설치합니다.

$ python -m django --version
잘 설치 됐다면 현재 버전이 표시가 됩니다.

2. 프로젝트 만들기

$ django-admin startproject mysite
mysite란 폴더가 하위에 생성되고 폴더 안을 보면 아래와 같이 manage.py파일과 프로젝트명과 동일한 mysite폴더가 만들어졌습니다.

mysite
├── manage.py
└── mysite
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

3. 개발 서버 동작 확인

프로젝트가 잘 만들어졌고 제대로 동작하는지 확인해 보겠습니다. manage.py 파일 실행은 항상 이 파일이 있는 폴더에서 해야 합니다.

$ python manage.py runserver

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

February 05, 2020 - 05:42:01
Django version 3.0.3, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

위와 같이 뜨면 정상입니다. http://127.0.0.1:8000 를 열면 확인할 수 있습니다.
ctrl + c 를 누르면 서버를 종료합니다. (커맨드 창에서 복사하기는 ctrl + shift + c / 붙여넣기는 ctrl + shift + v 입니다.)

3. 설문조사 앱 만들기

앱은 웹서비스 중 하나의 기능(메뉴 또는 페이지)이라고 보시면 됩니다.

$ python manage.py startapp polls

polls라는 또 다른 폴더와 함께 db.sqlite3라는 장고에서 사용하는 데이터베이스가 생겼습니다. models.py 파일이 만들어져서 생긴 것으로 보입니다.

mysite
├── db.sqlite3
├── manage.py
├── mysite
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-37.pyc
│   │   ├── settings.cpython-37.pyc
│   │   ├── urls.cpython-37.pyc
│   │   └── wsgi.cpython-37.pyc
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── polls
    ├── __init__.py
    ├── admin.py
    ├── apps.py
    ├── migrations
    │   └── __init__.py
    ├── models.py
    ├── tests.py
    └── views.py

4. 뷰 작성하기

polls폴더에서 $ vim views.py명령어로 파일을 얼어 아래와 같이 편집합니다.
HttpResponse 클래스 설명

polls/views.py
from django.http import HttpResponse


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

만든 뷰를 호출하려면 url을 연결해줘야 합니다. 아래 명령어로 polls 폴더 안에 urls.py 파일을 생성함과 동시에 편집합니다.
$ vim urls.py

polls/urls.py
from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]
mysite/urls.py
from django.contrib import admin
from django.urls import include, path

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

여기까지 하고 서버에 잘 반영이 됐는지 아래 링크에서 확인해 봅니다.
$ python manage.py runserver

http://localhost:8000/polls
정상이라면 Hello, world. You're at the polls index. 문구가 보이게 됩니다.

profile
Back-End Developer

0개의 댓글