02.-1 초기 세팅

조재훈·2022년 7월 15일
0

Clone_Airbnb

목록 보기
3/31
post-thumbnail

1. Project 생성

장고 공식 문서에서는 상위 폴더에서 아래와 같은 명령어를 입력하여 장고 프로젝트를 생성하라고 안내한다.

django-admin startproject hairbnb

그러나 우리는 조금 다르게 진행할건데, 이미 생성해놓은 프로젝트 폴더로 들어가서 아래와 같이 입력한다

django-admin startproject config

config 폴더와 하위 파일이 생성되었다.


이렇게 구성하는게 나중에 확장하거나 다른 개발자들과 협업하기가 좋은 구조라고 한다.

우리가 필요한건 config 폴더 내부에 있는 또다른 config 폴더와 manage.py 파일이기 때문에 외부에 있는 config 폴더의 이름을 바꿔주고서 꺼낸다.

그리고 깡통이 된 원래 폴더는 삭제한다.

2. Linter 설치

C++과 같은 컴파일 언어는 컴파일러가 프로그램 실행전에 오류를 잡아준다. 파이썬은 Runtime 언어이기 때문에 그런 기능이 없다. 만약 오류가 내장되어있다면 실행하는 시점에 프로그램이 무너져버릴 수 있다. 그래서 Linter라는걸 사용해서 에러가 생길만한 부분을 미리 찾아준다.
vscode 화면에서 Ctrl + P 를 입력한다.
그리고 > Python: Select Linter 라고 입력한다.

여기서 flake8 을 고른다.
.vscode 폴더에 settings.json 파일을 열어보면 linter가 flake8로 설정되어있다.

갑자기 우측 하단에 flake8이 설치가 안됐다는 경고창이 떠서 설치하라고 해줬더니 알아서 설치해준다.

Pipfile을 열어보니 [dev-packages]에 flake8이 설정되어있다.

3. Formatter 설치

Linter는 '여기가 잘못되었다!' 라고 알려줌.
Formatter는 잘못된 부분을 고쳐줌.
여기서는 black 이라는걸 쓸 것이다.

pipenv install black --dev --pre

Pipfile에는 등록이 잘 됐다.

Settings에서 formatting provider를 검색해서 확인해준다.

근데 좀 더 확실히 하려면 settings.json에 아래와 같이 추가하라고 한다.

"python.formatting.provider":"black"

그러면 이제 파일을 저장하는 순간에 vscode 하단에 아래와 같은 표시가 잠깐 떴다가 사라진다. (Formatting with black)

만약 해당 표시가 안뜬다면 settings에 들어가서 format on save를 검색하여 체크한다.

만약 format on save가 안뜨면 캡쳐화면 아래에 있는 Edit in settings.json에 들어가서 아래와 같이 추가한다.

"editior.formatOnSave": true,

4. 확인

settings.py 파일을 클릭해보면 빨간 글씨와 함께 파일명 옆에 5 라는 숫자가 뜬다. 이 말은 이 파일에 5개의 오류가 있다는 뜻이다.

여기 입력된 코드가 길다고 비명지르는 곳이 있는데 적정 길이를 초과했다고 나타나는 부분을 수정해보자.

settings.json 파일을 들어가서 아래와 같이 입력한다. 오류 표시를 내주는 한도를 100자로 올릴 것이다.

"python.linting.flake8Args": ["--max-line-length=100"]

이제 다시 아까 비명지르던 파일을 열어보면 에러 표시가 깨끗하게 사라진 것을 볼 수 있다.

5. 서버 실행

pipenv가 활성화된 상태에서 콘솔에 아래와 같이 입력한다.

python manage.py runserver

그리고 브라우저에서 127.0.0.1:8000 을 입력하면 아래와 같이 뜬다.

콘솔에서는 아래와 같이 로그도 뜬다.

그리고 vscode 좌측에 파일 목록을 보면 db.sqlite3 라는게 생겼다. 이거는 최종용은 아니고 개발중에 사용하는 데이터베이스 파일이다.

6. migrate

일단 작동하는 서버를 Ctrl + C 를 통해 중지한다.
그리고 콘솔에 아래와 같이 입력한다.

python manage.py migrate

그리고 다시 서버를 실행하면 이전에 나타났던 붉은 경고가 사라진 것을 볼 수 있다.

python manage.py runserver

이걸 하기 전에는 원래 admin 페이지에 들어가면 오류가 뜨는데 지금은 잘 된다.
127.0.0.1:8000/admin

7. superuser 생성

지금 당장은 관리자 계정이 없기 때문에 admin 페이지에 접속이 안된다. 관리자 계정을 만들어주자.
콘솔을 열고 아래와 같이 설정한다. (Username, Email address, Password)

python manage.py createsuperuser

암호를 345같이 대충 설정하면 빨간 글씨처럼 경고가 뜬다. 우리는 관리자 계정이기 때문에 이를 무시하고 설정할 수 있다.

다시 서버를 실행한다. 앞서 생성한 게정 정보를 입력하면 아래와 같이 잘 접속이 되는 것을 볼 수 있다.

profile
맨땅에 헤딩. 인생은 실전.

0개의 댓글