해당 글에서는 가상환경 생성, 장고 프로젝트 생성, 앱 생성을 다룰 예정입니다.
시작하기 전에, 가상환경 구성하기
본 시리즈에서는 Poetry를 이용하여 가상환경을 구성한다. 관련된 내용은 다음 포스트에 따로 정리하였다.
[Django Basic] 1.2. 파이썬에서의 가상 환경
장고 프로젝트 생성하기
django-admin startproject django_basic .
# 만약 Poetry를 사용한다면 아래와 같이 poetry run을 이용하여
# poetry 가상환경에서 명령어를 실행할 수 있다
poetry run django-admin startproject django_basic .
만약 Poetry를 사용한다면 앞으로도 poetry run을 명령어 앞에 붙여 사용하면 된다.
django-admin startproject로 장고 앱을 생성할 수 있다. 장고 프로젝트명에 '-'는 포함이 불가능해서 언더바로 프로젝트 명을 설정했으며, 프로젝트명 다음에 . 으로 현재 위치를 지정해 주었다. 이로 인해 원래라면 하위 폴더를 생성하고 프로젝트가 생성되겠지만, 대신 현재 위치 그 자리에 프로젝트가 생성되었다.
장고 프로젝트를 성공적으로 생성했다면 다음과 같은 파일이 생성된 걸 확인할 수 있다.
django_basic
__init__.py - 파이썬에서 사용되는 패키지에 관한 파일
asgi.py - 서버를 배포할 때 사용
settings.py - 프로젝트 설정 관리 파일
urls.py - 프로젝트의 url 맵핑 관리 파일
wsgi.py - 서버를 배포할 때 사용
manage.py - django 앱을 실행하는 등, 여러 상호작용에 사용되는 파일
여기까지 진행했을 때의 파일 구성: Github
장고 앱 실행
여기까지 왔다면 성공적으로 장고 프로젝트를 생성한 것이다. 생성된 장고 프로젝트가 잘 작동하는지 확인하기 위해 manage.py 파일을 이용할 것이다. 아래의 명령어로 개발용 서버를 실행할 수 있다.
python manage.py runserver
더 많은 manage.py를 이용한 명령어를 찾는다면 해당 문서를 참고
무사히 실행시키신다면 db.sqlite3 파일이 생성되며 서버가 실행된다. 웹 브라우저에 가셔서 http://127.0.0.1:8000 또는 http://localhost:8000으로 접속하여 실행된 앱을 볼 수 있다. Hello Django!
참고: 다른 포트로 서버 열기
python manage.py runserver 8080
python manage.py runserver 0.0.0.0:8000
서버의 포트를 변경하거나, 외부에 서버를 공개할 때 사용할 수 있다.
.gitignore 추가
이 시점에서 .gitignore 파일을 추가했다.
.gitignore이란? .gitignore은 Git을 사용하며 무시할 파일들의 목록입니다. Git은 이 파일에 명시된 파일들을 추적하지 않고 무시합니다. 예를 들어, 프로젝트에서 생성되는 캐시 파일이나 인터넷에 공개되지 말아야 할 개인 설정 파일 등을 .gitignore에 추가하면, 이러한 파일들이 실수로 버전 관리에 포함되거나 원격 저장소에 업로드되는 상황을 방지할 수 있습니다. 이를 통해 Git 저장소의 깔끔함과 보안성을 유지할 수 있습니다.
생성된 파일을 보면 __pycache__폴더의 캐시 파일들이 상당수 생성되었다. 위에서 생성된 db.sqlite3 파일 또한 db파일인데, db파일이 인터넷에 공개되는 건 권장되지 않으니 이를 방지하기 위해 .gitignore 파일을 루트 디렉터리에 다음과 같이 작성하겠다.
__pycache__/
db.sqlite3
장고 앱 생성하기
장고의 구조는 가장 크게 프로젝트가 있고, 그 하위로 앱들이 있는 구조이다. 이번 Django Basic 시리즈에서는 첫 번째로 간단한 책 정보를 저장하는 앱을 만들 것이다.
python manage.py startapp books
그럼 books 앱과 폴더가 생성되며, 다음과 같은 파일들이 생성된다.
migrations/__init__.py - 장고 모델에 관련한 사항들을 저장하는 폴더
__init__.py
admin.py - 장고 관리자 페이지 관련 파일
apps.py - 앱에 대한 사항을 관리하는 파일
models.py - 장고 모델을 정의하는 파일
tests.py - 테스트 코드 작성을 위한 파일
views.py - 장고 뷰 작성을 위한 파일
여기까지 진행했을 때의 파일 구성: Github
'서버(Server) > 장고 (Django)' 카테고리의 다른 글
[Django Basic] 1.2. 장고 앱 배포하기 (0) | 2023.07.15 |
---|---|
[Django Basic] 1.1. 파이썬에서의 가상 환경 (0) | 2023.07.15 |
[Django Basic] 0. Django Basic을 시작하며 (0) | 2023.07.05 |
Django SECRET_KEY 새로 생성하기 (0) | 2023.06.23 |
Django AbstractUser 불필요한 필드 지우는 방법 (0) | 2023.01.04 |