전체 상품 리스트
상품 상세 설명
전체 상품 리스트에서 원하는 상품 클릭시, 상품 상세 설명 화면으로 이동한다.
상품 상세 설명 화면의 기능들을 위주로 설명할 것이다.
상품을 등록할 때 상품에 관한 정보를 입력하면 데이터 베이스에 옆에와 같이 등록이 된다.
→ 우리는 이 데이터베이스에서 정보를 가져와 서버에 띄우고 싶다!!
import pyrebase
import json
class DBhandler:
def __init__(self):
with open('./authentication/firebase_auth.json') as f:
config = json.load(f)
firebase = pyrebase.initialize_app(config)
self.db = firebase.database()
def insert_item(self, name, data, img_path):
item_info = {
"seller": data['seller'],
"addr": data['addr'],
"email": data['email'],
"category": data['category'],
"card": data['card'],
"status": data['status'],
"phone": data['phone'],
"img_path": img_path
}
self.db.child("item").child(name).set(item_info)
return True
def get_item_byname(self, name):
items = self.db.child("item").get()
target_value=""
for res in items.each():
key_value = res.key()
if key_value == name:
target_value=res.val()
return target_value
상품 등록 시, insert_item 함수를 통해 item_info의 정보가 입력된다.
self.db.child("item").child(name).set(item_info)
→ 이 부분 코드를 통해서 데이터베이스의 루트 아래 “item”이라는 이름의 자식 노드로 이동 or 생성
→ 이는 파일 시스템에서 “item”폴더로 이동하는 것과 비슷하다.
get_item_byname 함수를 통해서 상품의 이름을 통해 데이터베이스로부터 정보를 가져온다.