-
TIL 2023.06.12내일배움캠프 2023. 6. 12. 20:46
최종 프로젝트 2 주차다
오늘은 장고에 이미지 사람 영역 분할 및 배경 합성 ai 를 적용시켰다.
생각한 대로 잘 작동해서 놀랐다.
그리고 Tour API 에서 데이터를 받아와 db에 저장하는 법을 알아냈다.
https://docs.djangoproject.com/en/4.2/howto/initial-data/
Django
The web framework for perfectionists with deadlines.
docs.djangoproject.com
장고 공식문서를 참고하자
json 파일로 만들려면 아래 형식을 써야한다.
[ { "model": "myapp.person", "pk": 1, "fields": { "first_name": "John", "last_name": "Lennon" } }, { "model": "myapp.person", "pk": 2, "fields": { "first_name": "Paul", "last_name": "McCartney" } }
위 형식으로 저장하려면 파이썬 파일을 하나 만들어서
import requests import json url = "요청 보낼 url" response = requests.get(url) data = json.loads(response.text) new_list = [] for item in data['response']['body']['items']['item']: new_data = {"model": "routes.spot"} new_data["pk"] = item.get("contentid", "") new_data["fields"] = {} new_data["fields"]["area"] = item.get("areacode", "") new_data["fields"]["sigungu"] = item.get("sigungucode", "") new_data["fields"]["type"] = item.get("contenttypeid", "") new_data["fields"]["title"] = item.get("title", "") new_data["fields"]["addr1"] = item.get("addr1", "") new_data["fields"]["addr2"] = item.get("addr2", "") new_data["fields"]["mapx"] = item.get("mapx", "") new_data["fields"]["mapy"] = item.get("mapy", "") new_data["fields"]["firstimage"] = item.get("firstimage", "") new_data["fields"]["tel"] = item.get("tel", "") new_list.append(new_data) with open('spot_data.json', 'w', encoding='UTF-8') as f: json.dump(new_list, f, ensure_ascii=False, indent=2)
이런 식으로 작성해서 실행해 주면 된다.
json 파일이 잘 저장됐다면
python manage.py loaddata <fixturename>
명령어로 db에 적용하자.
'내일배움캠프' 카테고리의 다른 글
TIL 2023.06.14 (2) 2023.06.14 TIL 2023.06.13 (0) 2023.06.13 WIL 내일배움캠프 13주차 (0) 2023.06.09 TIL 2023.06.09 (0) 2023.06.09 TIL 2023.06.08 (0) 2023.06.08