TIL_20230303_Django 프레임워크 제대로 배우기 01

창고·2023년 3월 3일
0

1. Django 소개 및 환경 설정

  • 파이썬 다운로드 설치 -> 가상 환경 구축(venv) -> 장고 설치
python -m venv {가상디렉토리명}

가상 디렉토리 이동 후 scripts -> activate.bat 실행 -> 가상 환경 내부에서 pip install Django
  • 장고 설치 버전 확인
import django
print(django.get_version())

혹은
python -m django --version
  • git bash에서 진행한 방식
./activate.bat <!-- activate.bat 실행-->
pip install Django <!-- 장고 설치 -->
python -m django --version <!-- 장고 버전 확인 -->
  • 가상환경을 빠져나오는 방법 ./deactivate.bat
  • 장고 삭제
    • pip 프로그램을 이용하여 설치할 시 내부적으로 구버전에 대한 부분을 삭제하고 설치하므로 걱정할 필요 없음
    • 수동 설치 시에는 장고가 설치된 디렉토리로 이동해서 명령어 등으로 삭제 후 진행해야 함
  • 장고 특정 버전 지정 설치
pip install Django == 버전명
pip uninstall Django <!--삭제 시 버전 따로 명시하지 않아도 됨-->

2. Django 프로젝트 생성

(1) 메인 웹사이트 띄우기

  • 기존의 프레임워크 방식 (Spring, Laravel 등) 과는 살짝 다름
    • 기존 방식이 코드로 모듈을 직접 개발, 이를 통해 사이트를 만드는 것이라면
    • 잘 만들어진 모듈을 조합해서 만들어가는 느낌
  • 흐름
    • 가상화면 모드 -> activate.bat 활성화
    • 실습 폴더 루트(실제 폴더)로 이동하여 프로젝트 생성 (중요 : 가상환경 켜진 상태에서)
      - django-admin startproject {프로젝트명}

  • 프로젝트 생성 후 처리해야 하는 작업 (웹사이트를 띄우기 위한 작업)
    • 장고 프레임워크는 기본적으로 8000번 포트를 사용
    • manage.py를 통해 run server (서버를 구동)
    • run 시 포트 변경도 가능
(manage.py가 있는 경로) python manage.py runserver <!--기본 8000번 포트로 구동-->
(manage.py가 있는 경로) python manage.py runserver 9090 <!--포트 번호 변경-->
(manage.py가 있는 경로) py manage.py runserver <!--py 명령어로도 가능-->
<!-- 서버를 닫기 위해서는 CTRL-BREAK, CTRL+C -->

  • 서버가 구동되어 localhost:8080으로 접속
  • 실행된 서버는?
    • 장고 개발 서버로서 경량 웹서버
    • 주로 개발 목적 및 테스트 용도로 사용되는 서버
    • 실무에서는 nginx나 apache와 같은 웹서버 사용

(2) 프로젝트 생성 후 생성되는 폴더 및 파일

  • 프로젝트 최초 경로에 하위 디렉토리를 만든다 : 웹사이트에 필요한 모듈용 디렉토리
    • 예시 : 게시판 모듈 board, 뉴스 모듈 news
  • 프로젝트명과 동일한 이름의 디렉토리(project/project)
    • 하위 모듈들의 최상위 모듈 (사진에서는 board, news, ... 들의 최상위 모듈이 practice)
  • 주요 파일
    • manage.py - 가장 자주 사용하는 파일 중 하나, 서버 구동 등
    • __init__.py
    • setting.py - 프로젝트 내 환경 구성 등 세팅 정보를 담는 파일
    • urls.py - URL 패턴 등 패스 관련 정보를 담는 파일
    • asgi.py
    • wsgi.py

(3) Superuser 생성 및 기본 테이블 생성

  • 슈퍼 유저 생성 명령어
    • 그러나 기본 테이블이 생성이 안 되어 있으면 슈퍼 유저 생성이 안됨
    • 기본 테이블 생성 먼저 진행 후 슈퍼 유저 생성 필요
python manage.py createsuperuser
  • 슈퍼 유저 생성 관련 이슈 (git bash)
    • 슈퍼 유저 생성은 TTY 환경에서 실행이 불가, git bash 환경이라 그런듯
    • winpty를 앞에 붙여서 명령을 실행해야 함
  • 기본 테이블 생성 명령어
python manage.py migrate

  • 관리자 모드 접속은 localhost:8000/admin (기본 포트일 경우)
profile
공부했던 내용들을 모아둔 창고입니다.

0개의 댓글