Python/Django

Django 시작하기(2) - 프로젝트 만들기

갓우태 2019. 6. 18. 22:20

프로젝트 만들기

터미널을 켜고, 원하는 경로로 갑니다! django-admin startproject 원하는 프로젝트명을 작성!

$ django-admin startproject mysite

이제 프로젝트가 생성됐습니다. 프로젝트 구조를 살펴보면 다음과 같습니다! 하나씩 천천히 볼까요 ^^

  • .(현재 경로)

    현재 프로젝트 root directory(mysite), 그냥 프로젝트 담기 위한 공간으로 이름 바꿔도 무방합니다.

  • manage.py

    프로젝트와 상호작용하는 파일. 서버 실행하기, 앱 만들기(특정 기능을 포함한 웹 애플리케이션. 앱들이 모이면 프로젝트), 모델 활성화 등, 많은 기능이 있다!

  • mysite/

    프로젝트를 위한 실제 Python 패키지들 저장.

    • mysite/init.py

      이 디렉토리를 패키지처럼 다루라는 용도의 빈 파일.

    • mysite/setting.py

      프로젝트의 환경 및 구성을 저장. 특정 디렉토리(static 같은) 경로라던가, HOST 주소 같은걸 저장함

    • mysite/urls.py

      사이트 목차라고 생각하면 된다! polls url을 등록하면, https://127.0.0.1/polls 이런 식으로 접근 가능

    • mysite/wsgi.py

      서비스 배포 관련된 부분.

서버 실행

프로젝트를 만들었으니, 실행시켜 봅시다!

$ python manage.py runserver

한줄이면, 서버가 실행됩니다! http://127.0.0.1:8000을 접속하면 확인이 가능합니다! 포트번호를 바꾸고 싶으면?

$ python manage.py runserver 8080

간단하네요~

앱 만들기

이제 설문조사 기능을 가진 앱을 만들어 보겠습니다.

$ python manage.py startapp polls(또는 원하는 앱 이름)

뷰 만들기

앱을 만들었으니, 웹 페이지를 꾸며볼까요

앱의 구조입니다!

  • models.py

    이전 포스트에서 소개했던, Model 부분입니다. 여기서 모델(DB의 테이블)을 적을 수 있습니다.

  • views.py

    MTV에서 View 부분입니다.

이제 본격적인 뷰를 작성해 보겠습니다.
다음과 같이 view.py파일을 작성합니다.


from django.http import HttpResponse

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

이제 해당 뷰를 호출하려면, 연결된 URL이 있어야 합니다! 앱 디렉토리 내에서 urls.py파일을 생성한 뒤, 다음과 같이 편집합니다.


from django.urls import path

from . import views

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

앱 URL은 등록했으니, 이제 최상위에서 해당 앱 polls의 URL을 바라보게 설정합니다. 상위 디렉토리에 존재하는 urls.py를 수정하겠습니다!


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

urlpatterns = [
    path('polls/', include('polls.urls')),     # polls url을 연결
    path('admin/', admin.site.urls),    # 다른 URL 등록할 때마다 include함수를 사용하지만, admin만 예외!
]

다시 서버를 실행시키면, view.py에서 반환된 Hello, world. You're at the polls index. 만 덩그러니 띄워질 겁니다!

반응형