[Do it 장고 + 부트스트랩] 6장. 장고 프로젝트 만들기

정재욱·2023년 6월 6일
0
post-thumbnail
post-custom-banner

깃허브 저장소 만들기

장고 프로젝트를 위한 새로운 레포를 만들자.

공개 범위는 private로 하자. 웹 사이트를 개발하다 보면 secrete key를 비롯해 여러 가지 보안과 관련된 설정들이 소스 코드에 남아 있게 될 것이기 때문이다.

또한 Add .gitignore를 Python으로 설정하자. .gitignore는 깃으로 버전 관리하지 않을 폴더, 파일을 설정하기 위한 용도이다. 이 항목을 Python으로 설정하면 파이썬 개발자들이 일반적으로 버전 관리를 하지 않아도 되는 목록이 적혀 있는 .gitignore 파일이 자동으로 생성된다.

이후 해당 레포를 local에 클론하자.

파이참으로 실습 환경 설정하기

미니콘다 & 파이참 연동하기

  1. PyCharm IDE를 실행 후 'New Project'를 클릭.

  2. 작업을 수행할 경로를 설정해주고, 'Previously configured interpreter'를 체크.
    Add Interpreter를 클릭 한 후에 Add Local Interpreter를 클릭.

  1. 'Conda Environment'를 클릭하고, 'Conda executable'의 경로를 아나콘다가 설치된 파일의 폴더로 들어가서 '~\Miniconda3\condabin\conda.bat'로 지정 후 'Load Environments'를 클릭.
    그리고, 'Use existing environment'를 클릭 후 생성한 가상환경을 선택.
  1. 설정이 완료되었으면 Create 생성!

  2. 성공적으로 Project 생성 후 파이썬 파일을 생성하여 정상적으로 작동하는지 확인.

추가적으로 .gitignore에 .idea라는 폴더를 추가하자.
이것은 파이참에 의해 자동으로 생성된 폴더고, 파이참이 편의를 제공하기 위해 만들어진 폴더이므로 버전 관리를 할 필요가 없다.
게다가 혹시나 다른 컴퓨터에서 작업할 때 오히려 프로젝트 설정이 충돌할 수 있다.
아래와 같이 .gitignore에 추가!

가상환경 실행하고 장고 설치하기

cmder에서 프로젝트 폴더로 들어가 conda activate do_it_django를 입력하여 가상환경을 실행하자.

터미널에 pip install django를 입력하여 장고를 설치하자.


장고로 기초 웹 사이트 만들기

장고 프로젝트 생성하기

이제 장고 프로젝트를 생성해보자.

터미널에서 django-admin startproject do_it_django_prj .라고 입력하자.

이때 맨 마지막의 닷(.)을 잊지 말자! 여기서 닷의 의미는 "이 폴더에 장고 프로젝트를 만들자" 라는 의미이다.

이제 ls 명령어로 보면, do_it_django_prj 폴더와 manage.py가 새로 생성된 것을 볼 수 있다.

서버 실행하기

새 장고 프로젝트가 잘 생성되었는지 확인하기 위해 python manage.py runserver를 입력해보자.

해당 명령어를 통해서 서버를 실행해보면, 아직 마이그레이션을 하지 않았다는 오류 메시지가 나타나지만 장고 프로젝트가 제대로 생성되었는지 확인하는 데는 문제가 되지 않는다.

출력값 중 서버 IP 주소 https://127.0.0.1:8000을 웹 브라우저 주소 창에 입력해보자. 다음 그림과 같이 나오면 성공이다.

데이터베이스에 관리자 계정 생성하기

앞에서 python manage.py runserver로 서버를 실행했을 때 아직 마이그레이션을 하지 않았다는 오류 메시지가 나타났을 것이다.

장고에서 마이그레이션(migration)이란 데이터베이스에 적용시켜야 하는 변화에 대한 기록이다.

예를 들어 댓글 기능이 없던 블로그에 댓글 작성 기능을 추가했다고 가정해보자. 그러면 데이터베이스에 댓글을 저장하기 위한 공간(테이블)이 필요하다. 이를 데이터베이스에 반영해야 서버를 실행했을 때 웹 사이트에 추가한 댓글 기능을 제대로 사용할 수 있다.

그런데 아직 아무 기능도 만들지 않았는데 적용해야 할 마이그레이션이 왜 존재하는 걸까?

장고는 새 프로젝트를 생성할 때 데이터베이스에 기본적으로 필요한 테이블을 미리 마련해두기 때문이다!!!

마이그레이션에 대한 내용은 차근차근생활 & 코딩 by ssilook, 동연이의 지식저장소에 자세히 나와있으니 참고하자.

데이터베이스 생성하기

마이그레이션을 적용하기 위해 먼저 터미널에 Ctrl+C를 눌러 서버를 중단하자.

원래는 python manage.py migrations 명령어로 먼저 마이그레이션을 생성해야 하지만, 지금은 장고가 알아서 만든 마이그레이션이 있으므로 생략한다.

python manage.py migrate 명령어를 입력하자. 현재는 아직 데이터베이스를 만들지 않은 상태이므로 db.sqlite3라는 파일이 새로 생성되고, 그 안에 마이그레이션을 반영한 데이터베이스가 생성된다.

관리자 계정 생성하기

이제 웹 사이트의 관리자 계정을 생성해보자.

터미널에서 python manage.py createsuperuser을 입력하자.

그리고 사용자명과 이메일 주소를 입력하고, 비밀번호도 두 번 입력하자.

이후 다시 python manage.py runserver로 서버를 실행해보자. 마이그레이션 오류 없이 잘 실행되는 것을 볼 수 있다.

서버를 실행한 다음 웹 브라우저에서 127.0.0.1:8000/admin/으로 접속해보자.

다음과 같은 화면에서 방금 만든 관리자 계정의 사용자명과 비밀번호를 입력하고 로그인 하면 관리자 페이지에 접속할 수 있다.

벌써 장고가 알아서 관리자 페이지를 생성해 놓은 것이다. Users를 클릭하면 방금 만든 관리자 계정이 등록되어 있는 것을 볼 수 있다.

현재는 이 사이트의 계정과 관련된 내용만 있지만 앞으로 기능을 추가하면 관리자 페이지도 화장될 것이다.


To Do

  1. 아직 migration에 대한 개념이 부족하다. 추가적으로 더 알아보자
profile
AI 서비스 엔지니어를 목표로 공부하고 있습니다.
post-custom-banner

0개의 댓글