23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
이전글
회사에서 REST API 활용하기 (1부)
https://devocean.sk.com/blog/techBoardDetail.do?ID=163584
이번 글에서는 장고와 장고REST를 이용해 REST API를 만들어보겠습니다.
.png)
SK 그룹사 정보를 관리할 수 있습니다!
.png)
중간 과정을 git commit 로그로 확인할 수 있습니다.
결과물 Preview: https://devoceansk.herokuapp.com/api/company/
.png)
https://github.com/JaehunSim/devocean-django
장고 프로젝트를 시작하는 과정입니다. 커맨드창 (Windows powershell, cmd 등)에서 명령어를 실행합니다.
https://docs.djangoproject.com/ko/4.0/intro/
장고 공식문서를 참고해보세요~
requirements 설치
python -m pip install -r requirements.txt
프로젝트 시작
django-admin startproject settings
settings/ 에 있는 파일을 root에 옮겨줍니다. (ex. devocean-django/)
앱 시작
python manage.py startapp company
https://github.com/JaehunSim/devocean-django/tree/f630e7d5e4618cf2554648967a0345e24f67b723
로컬에서 배포후 사용할 수 있으나, 외부에서 이용하려면 클라우드가 편합니다.
무료로 사용할 수 있고 배포가 간편한 Heroku를 이용해봅시다.
runtime.txt
python-3.8.11
어떤 Docker 이미지를 베이스로 생성할지 정해줍니다.
Procfile
web: gunicorn settings.wsgi --log-file -
gunicorn 을 이용해 앱을 시작합니다.
settings/settings.py 수정
주석을 지우고, STATIC_ROOT 선언을 해줍니다.
DB NAME 경로를 수정해줍니다.
ALLOWED_HOSTS = ["*"] 로 전부 접근 허용해줍니다.
https://github.com/JaehunSim/devocean-django/tree/d379d4bb908cf7fa8c6cabb1248d163171837aa2
settings/settings.py INSTALLED_APPS 에 사용할 앱을 추가합니다
company
rest_framework
https://github.com/JaehunSim/devocean-django/tree/8b628401b20c760bd75fa718a7fed8336d007a7e
DRF 공식문서를 참고해보세요~
https://www.django-rest-framework.org/tutorial/quickstart/
company/models.py
모델을 정의해줍니다. DB와 연동되며, 엑셀의 column 부분을 정의해주는 것과 비슷합니다.
company/serializers.py
python과 DB가 원활히 연결될 수 있도록 명시해주는 부분입니다. rest_framework를 이용해서 쉽게 구현가능합니다.
company/views.py
로직을 처리해주는 부분입니다. REST API를 가볍게 구현할 수 있습니다.
settings/urls.py
어떤 url 경로로 접근할지 명시해주는 부분입니다. CompanyList, CompanyDetail 연결을 해줍니다.
settings/settings.py
DB를 postgresql로 바꿔야 합니다. (기본DB인 sqlite3는 heroku에서 증발해버립니다..)
db_database_url 설정도 해줍니다.
css를 제대로 적용하기위해 whitenoise 미들웨어를 추가합니다.
Model을 만들었으면 DB에 연동을 해야합니다. Heroku에서 아래 명령어를 입력하면 됩니다.
Heroku console을 열고
heroku run bash 을 입력합니다. bash 창에서 3,4번 진행합니다.
python manage.py makemigrations
python manage.py migrate
https://github.com/JaehunSim/devocean-django/tree/0aeb59f726bf02e3578120852cf4e7b4c318de6e
https://devoceansk.herokuapp.com/api/company/
끝났습니다~
여기서 REST API 실험을 해볼 수 있습니다!
Heroku가 아니라면 python manage.py runserver 로 확인할 수 있습니다.
이럴경우 기본 sqlite3 DB를 쓰면 되고, 127.0.0.1:8000 으로 접근해보세요.
HTTP API를 이용해 데이터를 넣을 수 있습니다.
python requests 를 이용해 넣어보겠습니다.
import requests
url = r"https://devoceansk.herokuapp.com/api/company/"
data = {"name": "SK하이닉스",
"field": "반도체",
"address": "경기도 이천시 부발읍 경충대로 2091",
"latitude": 37.2497159,
"longitude": 127.4825281,
"total_employees": 22254,
"revenue": 429978,
"operating_income": 124103,
"net_income": 96162}
requests.post(url, data=data)
https://devoceansk.herokuapp.com/api/company/
https://devoceansk.herokuapp.com/api/company/1
웹을 만들기 위한 Backend 셋업은 끝났습니다.
이제 Bootstrap으로 Front를 셋업해서 사용자들이 편하게 이용할 수 있게 하고자 합니다!
.png)
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.