ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Django - 프로젝트(Project) 생성
    Search: Django Django 2020. 6. 11. 20:51

     

    Project 생성

    'Prj1'이라는 Project Directory 생성

    C:\> django-admin startproject Prj1

     

    자동 생성된 파일

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

    'manage.py': Django 프로젝트와 다양한 방법으로 상호작용 하는 커맨드라인의 유틸리티. docs.djangoproject.com/ko/3.0/ref/django-admin/

    'Prj1/': 디렉토리 내부에는 프로젝트를 위한 실제 Python 패키지들이 저장됩니다. 이 디렉토리 내의 이름을 이용하여 프로젝트의 어디서나 Python 패키지들을 임포트할 수 있다.

    'Prj1/__init__.py': Python으로 하여금 이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 단순한 빈 파일이다.

    'Prj1/settings.py': 현재 Django 프로젝트의 환경 및 구성을 저장합니다. Django settings에서 환경 설정이 어떻게 동작하는지 확인할 수 있다. docs.djangoproject.com/ko/3.0/topics/settings/

    'Prj1/urls.py': 현재 Django project 의 URL 선언을 저장합니다. Django 로 작성된 사이트의 "목차" 라고 할 수 있습니다. URL dispatcher docs.djangoproject.com/ko/3.0/topics/http/urls/

    'Prj1/asgi.py': ASGI 호환 웹 서버가 프로젝트를 제공하기위한 진입 점이다. docs.djangoproject.com/ko/3.0/howto/deployment/asgi/

    'Prj1/wsgi.py': 현재 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점입니다. docs.djangoproject.com/ko/3.0/howto/deployment/wsgi/

     

    개발용 웹서버 실행

     

    간편한 실행, 간단히 'py manage.py runserver'라고 입력하면 된다.

    C:\> py manage.py runserver
    C:\DjangoT1>py manage.py runserver 8000
    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.
    June 11, 2020 - 20:45:02
    Django version 2.2.13, using settings 'DjangoT1.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CTRL-BREAK.
    

    웹브라우저로 'http://127.0.0.1:8000/'에 접속하면 웹페이지를 볼 수 있다.

     

    개발 전용 서버로만 사용해야 한다.

    runserver로 작동된 개발 서버는 요청이 들어올 때마다 자동으로 Python 코드를 다시 불러온다. 코드의 변경사항을 반영하기 위해서 굳이 서버를 재시작 하지 않아도 된다. 그러나, 파일을 추가하는 등의 몇몇의 동작은 개발서버가 자동으로 인식하지 못하기 때문에, 이런 상황에서는 서버를 재시작 해야 적용된다.

     

    다른 실행 방법

    C:\> py manage.py runserver 8080
    C:\> py manage.py runserver 0:8000

    순수 Python으로 작성된 경량 웹 서버가 Django에 포함되어 있어 아무 설정 없이 간편히 실행 가능하다. 상용 배포용이 아니고 오직 개발 목적으로만 사용가능하다. Django는 웹 프레임워크를 제공하지 웹 서버 라이브러리가 아니기 때문이다.

    실제 서비스 환경의 사이트에서 Django를 사용하려면, Apache 와 `mod_wsgi`_를 사용할 수 있다.
    mod_wsgi는 임베이디드 모드와 데몬 모드 중 하나로 운영할수 있다. 임베이디드 모드에서 mod_wsgi는 mod_perl과 비슷하다, 이 모드에서는 Apache 안에 Python을 삽입하고 서버가 시작될때 Python 코드를 메모리에 로드하여 코드가 메모리에 남아 있기때문에 다른 서버 구성보다 성능이 크게 향상된다.

     

     

    다음 단계

    2020/08/18 - Django - App 개요

    2020/06/11 - Django - App 예제

     

    'Django' 카테고리의 다른 글

    Django - 관리자 계정 만들기 (admin)  (0) 2020.08.18
    Django - Db Table 읽고 쓰기  (0) 2020.08.18
    Django - App 개요  (0) 2020.08.18
    Django LTS version  (0) 2020.08.18
    Django - Db(데이터베이스) Table 생성  (0) 2020.06.11
    Django - App 예제  (0) 2020.06.11
    Django 설치  (0) 2020.06.11
    Django 개요  (0) 2020.06.11

    댓글