Django 프로젝트 생성

CHAN LIM·2022년 6월 21일
0
post-thumbnail

Django 프로젝트 생성

Django에는 보통 하나의 웹 사이트를 프로젝트라고 부릅니다.
프로젝트(웹 사이트) 안에는 다양한 기능들이 있는데, 그 기능을 앱 (app)으로 관리합니다.

1. Windows PowerShell 또는 cmd 명령프롬프트를 실행합니다.

2. 만약, 파이썬 가상환경을 설정한다면 가상환경을 활성화를 한 이후에 진행합니다.

$ conda create -n askcompany

3. 다음 명령어로 Django 프로젝트를 생성합니다.

$ django-admin startproject 프로젝트명
$ python -m django startproject 프로젝트명


기본 생성된 파일/디렉토리 목록

기본 템플릿 : django/conf/project_template

(askcompany) $ cd ~/askcompany
(askcompany) $ tree
.
├── manage.py
└── askcompany
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

askcompany

: 프로젝트명으로 생성된 디렉토리입니다.
: 다른 이름으로 변경해도 문제가 없습니다.

manage.py

: 명령행을 통해 각종 Django 명령을 수행합니다.
: 개발 시, 프로그램의 진입점입니다.

주요명령어

  • startapp : 앱 생성
    runserver : 서버 실행
    createsuperuser : 관리자 생성
    makemigrations app : app모델의 변경사항 체크
    migrate : 변경사항을 DB에 반영
    shell : 쉘모드 진입. 쉘을 통해 데이터를 확인가능
    collectstatic : static 파일을 한곳에 모음.

askcompany

: 프로젝트명으로 생성된 디렉토리입니다.
: 이 이름을 참조하고 있는 코드가 몇 개 존재하기 때문에 함부로 수정해서는 안됩니다.

__ init __.py

: 모든 파이썬 패키지에는 __init__.py을 둡니다.
: 패키지를 임포트 할 때의 임포트하는 대상입니다.

setting.py

: 현재 프로젝트에서 Django 기본설정 (django/conf/global_settings.py)을 덮어쓰고, 새롭게 지정할 설정들이 존재합니다.

  • BASE_DIR: 프로젝트 루트 폴더입니다.
  • SECRET_KEY: 다양한 보안을 위해 사용됩니다.
  • DEBUG: 디버그 모드를 설정합니다.
  • ALLOWED_HOSTS: 현재 서비스의 호스트를 설정합니다.
  • INSTALLED_APPS: 현재 프로젝트에서 사용하는 앱의 목록을 기록하고 관리합니다.
  • MIDDLEWARE: 장고의 모든 요청/응답 메시지 사이에 실행되는 특수 프레임워크들입니다. 주로 보안에 관련된 내용이 많습니다.
  • ROOT_URLCONF: 기준이 되는 urls.py 파일의 경로를 설정합니다.
  • TEMPLATES: Django에서 사용하는 템플릿 시스템에 관한 설정들입니다.
  • WSGI_APPLICATION: 실행을 위한 WSGI 어플리케이션을 설정합니다.
  • AUTH_PASSWORD_VALIDATORS: 비밀번호 검증을 위한 설정입니다.
  • LANGUAGE_CODE: 다국어에 관한 설정입니다.

urls.py

: 최상위 URL 설정입니다.
: 특정 기능을 수행하기 위해 접속하는 주소를 URL이라 하는데 이를 설정하는 파일입니다.

wsgi.py

: 현재 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점입니다.
: 웹 서비스를 실행하기 위한 WSGI 관련 내용이 들어 있습니다.

  • 웹 서버 게이트웨이 인터페이스
    : (django를 사용하지 않고 파이썬으로 사용하게 되면 직접 설정해줘야 합니다.)

asgi.py

: 현재 프로젝트를 지원하기 위한 ASGI 호환 웹 서버의 진입점입니다.
: (entry-point / django는 비동기를 지원하지 않기 때문에 해당 기능을 사용하고자 할 때 사용합니다.)


프로젝트 초기화 작업 및 개발서버 구동

Windows PowerShell 또는 cmd에서 진행하면 됩니다.

$ django-admin startproject askcompany
$ cd askcompany
$ python manage.py migrate			# 데이터베이스 마이그래이션
$ python manage.py createsuperuser	# 슈퍼유저 계정 생성 - ID, password
$ python manage.py runserver			# 서버 구동

이후 웹브라우저를 띄우고
http://localhost:8000/admin/ 으로 접속하시고 로그인을 진행합니다.

웹브라우저 접속 후 서버 작동 확인.

admin 접속 및 로그인

admin page 접속 확인


Reference

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

profile
클라우드, 데이터, DevOps 엔지니어 지향 || 글보단 사진 지향

0개의 댓글