[Django] 장고 프로젝트 생성하기

싱숭생숭어·2023년 4월 21일
0

Django

목록 보기
3/19
post-thumbnail

<참고: 점프 투 장고 위키독스>]

장고 프로젝트, 앱 개념

장고에는 프로젝트라는 개념이 있는데, 장고의 프로젝트는 하나의 웹 사이트라고 생각하면 된다. 즉, 장고 프로젝트를 생성하면 한 개의 웹 사이트를 생성하는 것과 같다. 프로젝트 안에는 여러 개의 앱이 존재한다. 이 앱들이 모여 웹 사이트를 구성한다. 여기서 앱이란 관리자 앱, 인증 앱 등과 같이 장고가 기본으로 제공하는 앱과 개발자가 직접 만든 앱을 칭한다. - 점프 투 장고 -

프로젝트는 하나의 웹 사이트이고, 그 안에 여러개의 앱이 존재한다. 쉽게 예를 들면 프로젝트로는 우리가 알고 있는 네이버, 카카오, 다음 페이지 등이 존재할 수 있겠으며, 그 안에 존재하는 네이버웹툰, 네이버뉴스, 네이버지도, 네이버 쇼핑 등 여러가지 기능들이 앱이라고 비유할 수 있을 것이다 !!

1. 프로젝트 생성하기

장고에서 여러개의 프로젝트를 만들 수 있으므로 프로젝트들을 담아둘 루트 디렉토리(루트 폴더)가 필요하다. 따라서 mkdir projects(폴더 명)을 통해 폴더를 생성하고 projects 폴더 안에서 작업을 할 예정이다.

mkdir projects -> projects라는 디렉토리 생성
source venvs/mysite/bin/activate -> 가상 환경 진입
cd projects -> projects라는 디렉토리 안으로 진입

위 사진처럼 projects 폴더를 생성하고 mysite라는 가상환경에 진입했다.

파이보 프로젝트를 의미하는 mysite 디렉터리를 생성하고 디렉토리로 진입한다.

mkdir mysite -> mysite라는 디렉토리 생성
cd mysite -> mysite라는 디렉토리 안으로 진입
django-admin startproject config . -> 현재 디렉토리 기준으로 장고 프로젝트를 생성하자

이때 config 다음에 점 기호(.)가 있음에 주의 !! 점 기호는 현재 디렉터리를 의미한다. 위 명령의 의미는 현재 디렉터리인 mysite를 기준으로 프로젝트를 생성하겠다는 의미이다. 프로젝트가 생성되면 mysite 디렉터리 밑에는 장고가 필요로 하는 여러 디렉터리와 파일들이 생성된다.

위의 명령들을 실행하면

이 사진처럼 projects 폴더안에 mysite(프로젝트를 담을 폴더)안에 config라는 앱 디렉토리가 생성된다.

만약 위에서 mkdir mysite로 디렉토리를 생성하지 않고 바로 django-admin startproject mysite로 프로젝트를 생성하는 방식을 사용했다면 mysite 디렉터리 밑에 똑같은 이름의 mysite 앱 디렉터리가 생성되어 mysite/mysite와 같은 구조가 되었을 것이다.

2. 개발 서버 구동하고 웹 사이트에 접속해 보기

위에서 mysite 프로젝트가 생성되었다. 이제 구동할 차례이다.
python manage.py runserver 명령어를 입력해준다.

명령어 입력 시 사진과 같은 화면이 뜨는데, 이는 장고 서버가 http://127.0.0.1:8000/ 로구동되었으며, 서버를 중지하기 위해서는 CONTROL-C를 입력하라는 내용이다.

이제 웹브라우저를 열고 주소창에 http://127.0.0.1:8000/을 입력해 보면, 아래 사진처럼 나만의 웹사이트가 뜬다.

이렇게 생성되는 127.0.0.1 서버는 로컬 서버 혹은 개발 서버라고 부른다. 127.0.0.1은 localhost로 입력해도 동일한 결과를 보인다. 이는 내 PC를 가리키는 IP 주소이다.

3. mysite 가상 환경에 간단히 진입하기

내가 현재 사용하고 있는 VSCODE 터미널에서는 가상 환경에 진입하기 위해 workspace 디렉토리 안에서 source venvs/mysite/bin/activate 를 항상 입력해주어야 한다. 이런 일련의 과정을 어디서든 한번에 수행가능한 배치 프로그램을 만들어 귀찮음을 덜어보자 !!

책에 나온 방법(C드라이브에서 실행)

다음과 같은 내용의 mysite.cmd 파일을 노트패드(메모장)와 같은 에디터로 작성한다.

@echo off
cd c:/projects/mysite
c:/venvs/mysite/scripts/activate

이를 배치(batch)파일이라 부르며, 명령어 입력과 실행을 한 번에 해주는 파일이라 생각하면 됨. 안에 입력한 내용은 mysite의 디렉토리로 이동한 다음, 가상 환경에 진입하라는 명령을 수행하라는 내용인데 !!

나는 ,,, 책과 같이 C에서 실행한 것이 아닌 WSL에서 가상 환경을 만들어놓았으므로 열심히 구글링을 해보았다 ...ㅠ

책에선 .cmd 확장자가 붙은 배치파일을 만들고 C에 저장한 뒤, 시스템 속성 창의 고급 > 환경 변수 설정 창에서 C:\venvs 디렉토리를 추가, 그 담에 명령 프롬포트에서 set path입력, 그 후 mysite(배치 파일 이름)을 실행 해 가상 환경에 자동 진입하는지 확인하라고 되어있다.

VSCODE WSL에서 실행하는 방법

<참고>

리눅스에서는 터미널에서 명령어를 입력하여 실행하는 방법 대신, 쉘 스크립트를 작성해 여러가지 명령어를 한번에 처리할 수 있다.

방법은 리눅스 CLI 환경에서 Shell script를 만들고 실행될 수 있도록 권한을 부여하는 순이다.

1. 실행 파일 만들기

  1. vi 편집기로 새 파일을 생성합니다.
  2. 새 파일 내용 최 상단에 #!/bin/bash 라인을 추가합니다.
  3. 원하는 명령어를 추가해줍니다.

터미널에 vi venvs.sh 입력(vim venvs.sh도 가능)
여기서 venvs.sh는 shell script 이름이므로 마음대로 변경 가능

아래 사진처럼 i 누르고(insert 모드 변경) #!/bin/bash 라인 추가, 원하는 명령어 . home/user_name/가상 환경 경로 입력(source home/user_name/가상 환경 경로도 가능)

esc 누르고 :wq 입력 후 enter -> 저장하고 나가겠다는 의미

가상 환경에 들어가지 않은 상태에서 . ~ venvs.sh 입력 시 자동으로 가상 환경에 진입하는 걸 볼 수 있다 !!!

profile
공부합시당

0개의 댓글