Tech Trail

[Django 주식 검색 웹 만들기 01] 프로젝트 생성 방법 본문

Project/[Django] 주식 검색 웹 만들기 [완]

[Django 주식 검색 웹 만들기 01] 프로젝트 생성 방법

_밍지_ 2024. 4. 4. 18:30
728x90
반응형
SMALL

Django는 간단하고 빠르게 웹 개발을 할 수 있는 프레임워크로, 인스타그램과 요기요 등 많은 서비스가 Django로 개발되었습니다.

이번 프로젝트에서는 PyCharm 환경에서 Python을 사용하여 Django 프로젝트를 시작해 보겠습니다.

 

1. 새로운 프로젝트 생성

PyCharm을 열고 새로운 프로젝트를 생성합니다. 저는 Locationstockmarket이라고 이름을 사용했지만, 원하시는 이름을 자유롭게 선택하실 수 있습니다.

 

또한, New environment using에서는 Virtualenv를 선택해주셔야 합니다.

 

파이썬 작업을 할 때는 가상환경(Virtual Environment)을 설치해 줄 수 있고, 가상환경을 활성화하면 해당 프로젝트에 필요한 라이브러리만 사용할 수 있습니다.

 

이는 예를 들어 A 프로젝트에는 Django 2.x 버전이 필요하고, B 프로젝트에는 Django 3.x 버전이 필요한 경우에 유용합니다. 이 경우 A와 B 각각의 프로젝트에 가상환경을 설정하여 각각의 환경을 운영할 수 있습니다.

 

 

 

 

PyCharm에서는 프로젝트를 생성하는 동시에 가상환경 설정을 함께 할 수 있습니다. 다른 언어에서처럼 코드를 작성해서 따로 가상환경을 만들어주어야 하는 것과는 다릅니다.

 

 

'create'를 클릭하면 프로젝트에 venv(가상환경)이 생성됩니다.

 

 

 

2. Django 설치

이제 Django 프로젝트 및 앱을 생성해 보겠습니다.

 

 

 

터미널을 열면 (venv)가 표시될 것입니다. 이는 현재 가상환경이 활성화되어 있음을 나타냅니다.

 

 

pip list

 

를 입력하면 설치된 패키지 목록이 표시되는데, 여기에는 가장 기본적인 패키지만 있는 것을 확인할 수 있습니다.

 

 

 

이제 Django를 설치하기 위해 터미널에

 

pip install django

 

를 입력해 줍니다. 설치가 완료되면 'pip list'를 다시 입력하여 Django가 설치되었는지 확인할 수 있습니다.

 

 

 

3. Django 프로젝트 및 앱 생성

 

django-admin startproject djangostock

 

'django-admin startproject'Django 프로젝트를 생성하는 명령어이며, 이 뒤에 프로젝트 이름을 적어주면 됩니다.

 

 

 

생성 완료~

cd djangostock

 

이제 "djangostock" 디렉터리 안으로 들어가겠습니다.

 

 

 

그리고 프로젝트 안에는 "manage.py"라는 파일이 있습니다. 이 파일을 사용하여 앱을 생성해 보겠습니다.

 

python manage.py startapp stocks

 

이렇게 "stocks"를 앱으로 생성할 것입니다.

 

 

 

 

 

"stocks"는 Django에서 하나의 기능을 하는 부분으로 이라고 합니다. 이 앱은 우리가 흔히 알고 있는 애플리케이션과는 조금 다릅니다.

 

Django에서는 웹 애플리케이션을 여러 기능으로 나누어서 각각을 앱으로 구분합니다. 예를 들어, 동영상 시청 기능, 이메일 전송 기능 등과 같이 웹의 서로 다른 부분을 각각의 앱으로 관리합니다.

 

이렇게 기능을 나누어 앱으로 만드는 이유는 유지보수가 쉽고 가독성이 높아지기 때문입니다. 또한, 다른 프로젝트에서 동일한 기능이 필요한 경우 이전 프로젝트에서 만든 앱을 가져와서 재사용할 수 있습니다.

 

따라서 하나의 Django 프로젝트는 여러 개의 앱으로 구성됩니다. 앱을 추가할 때마다 해당 앱을 프로젝트의 "settings.py" 파일의 "INSTALLED_APPS" 부분에 'stocks'와 같이 앱 이름을 추가해주어야 합니다.

 

 

 

 

쉼표도 필수 ~

728x90
반응형
LIST