본문 바로가기

AIVLE

[Django] 다시 장고를 시작해보자! (feat. 환경설정)

 

에이블 스쿨을 하게 되면서 장고를 공부하게 되었다. 

나는 23년도 1학기에 '정보시스템 개발' 수업을 수강하게 되면서 한 차례 장고를 학습한 경험이 있어서 조금의 친숙함을 가질 수 있었다.

 

5월 17일이 장고 수업 첫날이었는데 나는 다음날 졸업시험 이슈로 인해 수업에 참여하지 못했었다.

그래서 녹화된 강의안을 가지고 얼레벌레 뒤쳐지지 않게 혼자서 공부를 시작하게 되었다.

---------------------------------

장고란 무엇일까? 

장고는 백엔드를 담당하는 파이썬의 웹프레임워크로 Lawrence Journal-World 신문사에서 2003년에 개발되었고 2005년에 공개되었다. 이는 기타 연주자 Django Reinhardt에서 이름이 작명된거라고 한다. (나는 영화 장고에서 차용된것인줄 알았다. )

장고를 사용하는 유명한 회사로는 인스타그램, 요기요, 핀터레스트, 한국은행, 하이퍼 커넥트, 스포티파이 등이 있다. 

 

장고는 일단 파이썬을 사용하여 만들어졌기 때문에 사용이 간편하고 확장성이 뛰어나서 복잡한 요구사항과 통합이 필요한 개발에 적합하다. 다양한 운영체제에서 작동가능하며 보완 취약점을 보완할 수 있는 방법을 기본적으로 제공한다고 한다. 

 

장고에 대해서 알아봤으니 이제부터 환경설정을 해보자! 

강사님께서는 실습용이라서 가상환경을 따로 만들지는 않았다. 

하지만 ,언젠가 마주할지도 모르는 상황에서 당황하지 않기 위해 나는 구글링과 gpt를 통해서 가상환경을 만들어서 진행을 했다. 

 

아, 가상환경을 만드는 이유는 여러개의 프로젝트를 진행할때 각각 다른 버전을 사용하여 진행하고 싶은데 그게 관리하기가 어렵다. 

그때 하나의 pc에 독립된 가상환경을 만들어서 사용할 수 있어 쉽고 편하게 사용할 수 있다. 

 

1. DjangoProject라는 디렉토리 만들기 

2. vscode에서 open하고 terminal열기

3. 이제 가상환경을 만들기 

python -m venv 가상환경명

나는 venv라고 했다. 

4. 가상환경을 사용하려면 활성화를 시켜야 한다. 

source venv/bin/activate

나는 mac을 쓰기 때문에 다음과 같은 코드를 쳤는데 window라면 bin대신 script를 쓰면된다. 

그리고 다시 비활성화 시키고 싶다면 deactivate

5. 이제 django를 설치해보자 

$ pip install django

6. 루트디렉토리(DjangoProject)로 가서 이제 project를 만들어 보자 

$ django-admin startproject 프로젝트명

음 이렇게 해도 되긴 하는데 이렇게 하면 프로젝트명/프로젝트명/...이런식으로 되기 때문에 

아참 나는 프로젝트 이름은 myproject로 설정했다.

$ django-admin startproject 프로젝트명 .

이렇게 띄어쓰기 . 을 하면 DjangoProject바로 아래에 myproject , manage.py, venv이렇게 나열되는 형태가 된다.

더 보기편하고 햇갈리지 않아서 좋은 거 같다.

 

7.웹서버를 실행시켜보자 !

python manage.py runserver

이렇게 했는데 ... 자꾸 괴상한 오류들이 발생했다. 

ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

분명히 django도 설치했고 가상환경도 활성화시켰는데 무엇이 문제인고 싶었는데 python3 manage.py runserver로 하니 잘 되었다. 정확하진않지만 아마 내가 맥을 쓰고 있어서 그럴지도? 

 

하여튼 이렇게 되어서 그 로켓모양의 장고 웹서버 초기 화면이 실행되는 것을 확인 해볼 수 있었다. 

 

다시 열심히 해봐야겠다.