프로젝트(Project) 정의
장고에서 "프로젝트"란 하나의 완전한 웹 애플리케이션으로써 여러 개의 앱을 포함할 수 있으며, 웹 애플리케이션의 전반적인 구조와 설정을 담당한다.
예로, 흔히들 사용하고 있는 'Instagram'이 하나의 장고 프로젝트 안에서 동작한다는 점을 들 수 있다.
프로젝트(Project) 생성
1) Django 프로젝트 생성
django-admin startproject 프로젝트 이름
해당 프로젝트 이름으로 새로운 디장고 프로젝트를 생성한다. 새로운 프로젝트를 생성할 시, 디장고 프로젝트의 기본 구조를 갖춘 파일과 디렉토리(폴더)를 생성한다.
django-admin : 디장고를 설치하면 시스템에 설치되는 실행파일로 디장고 관리 작업을 수행하는 명령어
startproject : django-admin 명령어의 서브커맨드로 새로운 디장고 프로젝트를 시작하겠다는 의미
ls 명령어를 통해 현재 위치에서 어떤 디렉토리와 파일이 있는지 확인해보면 'mzbusan_django'가 있는 것을 볼 수 있다.
2) 생성된 프로젝트 폴더로 이동
cd 프로젝트 이름(디렉토리 경로)
cd 명령어는 "Change Directory"의 약자로 현재 작업 디렉토리를 변경하는 것이다.
3) Django 개발 서버 실행
웹사이트 결과
python manage.py runserver {ip:port}
해당 명령을 실행하면 개발 서버가 가동되고, ip:port는 안 적어도 되며, 기본적으로 http://127.0.0.1:8000/에서 접속할 수 있다. 브라우저를 열고 해당 주소로 접속하면, 디장고 기본 페이지를 확인할 수 있다.
python : 명령을 실행하는데 사용되는 파이썬 인터프리터를 명시 (파이썬으로 manage.py 스크립트를 실행하라)
manage.py : 터미널에서 디장고 명령어를 실행할 수 있도록 해주는 파일
즉, 코드를 짜고 난 뒤, 웹사이트를 통해 그 결과를 확인할 수 있는 명령어라 할 수 있다.
굉장히 많이 쓰는 코드이니 기억해두자.
프로젝트(Project) 구조
앞서 프로젝트 생성에 대해 설명하며, 프로젝트 생성 시 디장고 프로젝트의 기본 구조를 갖춘 파일과 디렉토리가 자동으로 생성된다고 말한 바 있다. 위 사진에 있는 것들이 그것이다.
하나씩 설명하도록 하겠다.
# 프로젝트 명 (프로젝트)
이는 디장고 프로젝트의 모든 파일이 담겨있는 최상위 디렉토리로 .Project Root이다. 이름을 마음대로 바꾸어도 상관없다. 지금 초보 단계에서는 크게 건들 일이 없는 것 같다.
- manage.py
디장고 프로젝트를 편리하게 관리하기 위한 명령어를 지원한다.
- db.splite3
프로젝트에서 사용하는 데이터베이스 파일
# 프로젝트 명 (앱)
이는 최상위 디렉토리 내부에 있는 디렉토리로 프로젝트의 가장 중심이 되는 앱이다. 이는 .Project Root와는 달리 이름을 바꾸면 이와 연관된 여러 파일에서 수정을 해야한다.
- __init__.py
디렉토리를 하나의 파이썬 패키지로 인식될 수 있게 해주는 파일
- settings.py
프로젝트의 전반적인 설정 담당
- urls.py
url을 보고 알맞은 페이지로 연결해주는 역할
- wsgi.py
웹서버와 파이썬 어플리케이션인 디장고가 소통하는데 필요한 일종의 프로토콜
정리
'FRAMEWORK > Django' 카테고리의 다른 글
[Django] 템플릿(Template) (1) (0) | 2024.01.17 |
---|---|
[Django] render 함수 (0) | 2024.01.17 |
[Django] URL (0) | 2024.01.17 |
[Django] 웹페이지 (Web Page) (0) | 2024.01.16 |
[Django] 앱 (App) (0) | 2024.01.16 |