ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Django 시작하기(2) - 프로젝트 만들기
    Python/Django 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. 만 덩그러니 띄워질 겁니다!

    반응형

    'Python > Django' 카테고리의 다른 글

    Django 시작하기(1) - django 설치  (0) 2019.06.18
    Django란?  (0) 2019.06.18

    댓글

Designed by Tistory.