python framework 인 django를 이용해서 API Server를 구축한다.
API는 공공데이터 포털에서 제공하는 국회 도서관 자료검색 서비스를 이용한다.
먼저 작업을 시작하기에 앞서 작업을 진행할 폴더를 생성한다.
작업 환경
- 작업폴더명 : public_data
- 가상환경명 : pubd_api
- 프로젝트명 : pubdapi
- OS : macOS sonoma v 14.5
django의 가이드는 아래 URL에서 자세히 다루고 있다. 한글로도 번역되어 있으니 해당 문서를 참고해도 좋다.
☞ https://docs.djangoproject.com/ko/5.0/
django 를 설치하기에 앞서 파이썬을 먼저 설치해야 한다.
파이썬의 버전은 3.12.2
django의 버전은 5.0.6으로 설치한다.
파이썬 설치
파이썬 설치는 아래 URL에 가서 원하는 버전으로 다운로드한다.
※ 여기서는 3.12.2 를 선택해서 다운로드 한다.
☞ https://www.python.org/downloads/macos/
다운로드 받은 후 해당 pkg 파일을 실행하여 설치한다.
- 내 PC의 파이썬 버전 확인
- mac에서는 python을 python3 명령어로 한다.
- python3 --version
public_data % python --version
zsh: command not found: python
public_data % python3 --version
Python 3.12.2
public_data %
웹서버 및 데이터베이스
- apache 웹서버 생략
- django는 경량 웹서버를 포함하고 있어, apache 웹서버 설치는 생략하고 넘어간다.
- 데이터베이스 설치
- django 는 다양한 데이터베이스와 연동할 수 있지만, SQLite 가 포함되어있다.
- 소규모 프로젝트로 진행하니, SQLite 를 활용한다.
파이썬 가상환경 설치
django 는 파이썬 가상환경 하에서 설치하고 운영되는 것이 바람직하다.
다른 프로젝트와 격리시켜 독립적인 구성으로 해야 향후, 다른 프로젝트들과의 호환성이나 의존성 문제를 사전에 방지할 수 있다.
- 해당 작업 폴더로 이동한다.
- 파이썬 가상환경 설치한다.
- 가상환경 명은 pubd_api
public_data % python3 -m venv pubd_api
public_data % cd pubd_api
pubd_api %
- 가상환경 안으로 이동하여 bin 폴더로 간다.
pubd_api % ls
bin include lib pyvenv.cfg
pubd_api % cd bin
bin %
- bin 폴더에서 가상환경 활성화를 시킨다.
- source ./activate
- 폴더명 앞에 가상환경명 (pubd_api) 이 명시되어 있으면 가상환경 안으로 진입한 상태이다.
- 비활성화는 deactivate
bin % ls
Activate.ps1 activate.csh pip pip3.12 python3
activate activate.fish pip3 python python3.12
bin % source ./activate
(pubd_api) bin %
(pubd_api) bin % deactivate
bin %
django 설치
- 가상환경 내 django 설치
- 가상환경에 진입한 상태에서 django 설치한다.
- 보통 최신버전을 설치하지만, 이번에는 5.0.6 버전으로 설치한다.
bin % source ./activate
(pubd_api) bin % pip install django==5.0.6
- 설치 이후에는 아래와 같은 메시지가 보인다.
- [notice] To update, run: pip install --upgrade pip
- 메시지와 같이 pip 업그레이드도 같이 실행한다.
(pubd_api) bin % pip install --upgrade pip
- django version 확인
(pubd_api) pubd_api % python3 -m django --version
5.0.6
(pubd_api) pubd_api %
django 프로젝트 생성
- 가상환경 디렉터리로 이동 후, 프로젝트 생성한다.
- 프로젝트 명은 pubdapi
(pubd_api) pubd_api % ls
bin include lib pyvenv.cfg
(pubd_api) pubd_api % django-admin startproject pubdapi
(pubd_api) pubd_api % ls
bin include lib pubdapi pyvenv.cfg
개발서버 확인
(pubd_api) pubdapi % ls
manage.py pubdapi
(pubd_api) pubdapi % python3 manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
July 23, 2024 - 06:39:12
Django version 5.0.6, using settings 'pubdapi.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
- 브라우저에서 http://127.0.0.1:8000/ 로 접속하면 아래 화면 노출된다.
마무리
이로써, python, django 설치가 마무리되었다.
- python3 —version : python 3.12.2
- python3 -m django —version : 5.0.6
'국회도서관 자료검색 서비스' 카테고리의 다른 글
django cors 크로스 도메인 오류 해결 #6 (0) | 2024.08.05 |
---|---|
django REST Framework 로 API 서버 구성하기 #5 (0) | 2024.08.02 |
공공데이터 포털 에서 원하는 서비스 API 신청하기 #4 (0) | 2024.08.02 |
django cycle, 프로젝트 구조 및 language, timezone 변경하기 #3 (0) | 2024.08.01 |
django app 생성하고 소스에 git 설치하기 #2 (0) | 2024.07.31 |