WinGyu_coder

Python, Django 장고로 모의투자 서비스 제작하기 (4) - Django 프로젝트 시작하기, APP 제작하기 (startproject, startapp) 본문

카테고리 없음

Python, Django 장고로 모의투자 서비스 제작하기 (4) - Django 프로젝트 시작하기, APP 제작하기 (startproject, startapp)

WinGyu 2024. 2. 26. 11:07

이전 포스트

Python, Django 장고로 모의투자 서비스 제작하기 (3) - Docker 로 Mysql DB 생성하기

https://wingyu-story.tistory.com/132

 

Python, Django 장고로 모의투자 서비스 제작하기 (3) - Docker 로 Mysql DB 생성하기

이전 포스트 Python, Django 장고로 모의투자 서비스 제작하기 (2) - 주식 종목 코드, 섹터 코드, 표준산업코드 가져오기 https://wingyu-story.tistory.com/131 Python, Django 장고로 모의투자 서비스 제작하기 (2) -

wingyu-story.tistory.com

깃허브 

https://github.com/decembaek/auto_stock_django

 

GitHub - decembaek/auto_stock_django

Contribute to decembaek/auto_stock_django development by creating an account on GitHub.

github.com


이제 본격적으로 Django 프로젝트를 시작해서 세팅 해볼 시간이다.

 

파이썬 가상환경을 구축할거다.

작업할 폴더에 접속해 명령어를 작성하자 (파이썬이 설치되어 있어야 아래 명령어가 작동한다)

필자는 작업 폴더명을 auto_stock_django 라고 하였다.

python -m venv venv

 

파이썬 버전을 입력해서 버전을 맞출 수 있다. (ex python3.10 -m venv venv)

가상환경 이름을 설정하고 싶으면 맨뒤에 venv 부분을 하고 싶은 이름으로 변경하면 된다. 

(필자는 이름을 venv로 지정했다.)

python -m venv 하고싶은이름
python -m venv stock_venv

 

그 다음 가상환경안에 파이썬 패키지들을 설치하자. 

mysqlclient
django
djangorestframework
django-extensions
markdown
openpyxl
pandas
pyarrow
django-environ
pylint-django
python-dotenv

 

패키지 목록이다. 파일은 내 깃허브 주소에서 다운 받을 수 있다. requirements.txt 를 다운 받으면 된다.

 

각각 패키지에 맞게 pip install 로 설치해준다. (주의 : 가상환경에 접속 후 설치해야함)

 

가상환경 접속 방법은 아주 쉽다. 터미널에서 아래 명령어를 쳐준다.

리눅스/맥 : source venv/bin/activate (venv 가상환경 이름 확인 필요)

윈도우 : ./venv/Scripts/activate ( venv 가상환경 이름 확인 필요)

 

가상환경 접속이 되었다면 패키지 설치를 해준다. 

pip install mysqlclient
pip install django
pip install djangorestframework
pip install django-extensions
pip install markdown
pip install openpyxl
pip install pandas
pip install pyarrow
pip install django-environ
pip install pylint-django
pip install python-dotenv
pip install pymysql

 

pymysql 같은 경우 mysql 호환성을 위해 설치하는 경우가 있다. mysql를 쓰는경우 설치해두자

 

패키지 설치가 다 되었다면 이제 Django 프로젝트를 시작해볼거다. 

 

가상환경에 접속을 한 상태에서. 아래와 같은 명령어를 작성한다.

django-admin startproject config .

 

django 프로젝트를 시작하는 명령어인데 현재 위치한 폴더에서 작업할려면 맨뒤에 "." 을 꼭 붙여줘야 한다.

"." 점을 붙이지 않는다면 새로 폴더가 생성된다.

 

위 같이 명령어를 쳤다면 현재 작업 폴더가 Django 루트 프로젝트로 설정이 되고 config가 setting 폴더가 된다.

 

필자 폴더 상태 

필자는 이미 작업을 많이 해둔상태라,, 폴더에 뭐가 많다.

아마 처음 진행하고 있다면. 파일안에 

config 폴더

manage.py

sqllite3? 

이렇게 파일들이 생길것이다. 

 

그러면 축하한다. 성공적으로 Django 프로젝트를 생성했다.

 

이제 Django 안에 APP 앱을 만들어보자.

 

쉽게 이해하자면 Django 는 커다란 프로젝트고 안에 여러 기능들을 수행하는 APP앱들이 있다.

수행하는 기능에 따라 APP을 제작하면 된다.

 

만약 쇼핑몰을 만든다고 한다면 이런 APP들을 만들거다 (실제론 훨씬 더 많고 정교합니다)

 

1. 유저 관리 앱

2. 판매 제품 관리 앱

3. 카테고리 관리 앱

4. 장바구니 관리 앱

5. 댓글 및 별점 관리 앱

 

이렇게 각 기능별로 앱을 생성해서 진행한다.

 

 

우리는 국내 주식에 대한 모의투자를 제작할거니 국내 주식 관리를 위한 APP 앱을 생성해주자.

(해외는 종목이 너무 많음,, 인기주만 좀 할까)

 

아래와 같은 명령어를 작성한다.

# manage.py 파일 있는곳에서 아래 명령어를 사용해야함
python manage.py startapp korea_stock

 

위 명령어가 APP 앱 제작 명령어 인데 python manage.py startapp <앱이름> 을 작성해주면 된다.

 

필자는 국내주식이란 뜻으로 korea_stock 을 했다. (솔직히 더 좋은 이름이 많은데 이해하기 쉽게 했다)

 

그러면 안에 생선됀 폴더를 열어보면 이런 구조로 되어 있을거다. (깃허브 스샷)

 

자 성공적으로 APP앱을 제작 하였다. 하지만 이게 끝이 아니다.

Django는 앞에서 말했다 싶이 큰 프로젝트고 많은 APP앱들을 제작한다.

 

Django 프로젝트에 세팅을 해서 만든 APP앱을 추가해줘야 한다.

 

아까 제작한 config 폴더에 들어간다 ( startproject를 다른 이름으로 했으면 그 이름으로 접속한다)

그러면 폴더가 이렇게 있다.

여기보면 여러 파일이 있는데, settings.py가 있다.

이게 사람으로 따지면 머리가 생각하면 좋을거 같다. 모든 설정은 이 파일에서 이루어진다.

 

settings.py 파일에 들어가 아래 내용을 수정해준다.

 

아 근데 필자는 이 세팅파일을 나누었다,, 처음하시는 분은 어려울거 같다.

 

아마 처음 세팅하시는 분은  

INSTALLED_APPS 안에    

"django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",

 

이렇게 있을거다. 그러면 아까 우리가 추가한,

INSTALLED_APPS = [    
	"django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    # 여기에 추가하기
    "korea_stock.apps.KoreaStockConfig",
    ]

 

korea_stock 앱을 위처럼 설정한다.

 

추후에 많은 앱들과 서드파티(다른 업체에서 지원하는 서비스) 등을 사용하는데 필자는 그걸 나누기 위에 사진처럼 나누었다. 일단 독자들은 아래에 앱만 간단히 추가해주자.

 

 

자 그러면 Django 프로젝트 세팅을 일단 진행해보았다.

다음에는 모델 작성을 해볼거다.

 

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

모의투자 웹 프론트 개발자를 구합니다.. 

사이트 프로젝트, 포트폴리오로가 필요하신분이면 연락주세요.

기술은 React, Vue, vanila JS, JQuery 다 상관 없습니다.

 

연락은 아래 이메일 또는 댓글로 주시면 됩니다. 감사합니다

email : tmdrbpp123@gmail.com

출처: https://wingyu-story.tistory.com/132 [WinGyu_coder:티스토리]