-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.py
More file actions
33 lines (27 loc) · 2.26 KB
/
app.py
File metadata and controls
33 lines (27 loc) · 2.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#vim app.py
from inspect import _void
from flask import Flask, json, request
import datetime
from models import Stores, sendData
app = Flask(__name__)
@app.route('/dbtoweb', methods=['POST','GET']) # DB데이터 전체를 가져오는 함수
def dbToWeb(): # DB에서 웹으로 데이터를 보내기위한 함수
data = Stores.get_all() # models.py의 Stores클래스 내의 get_all함수 실행
return json.dumps(data, default=json_default, ensure_ascii=False) # json 형식으로 인코딩 후 String으로 변환해서 리턴
def json_default(value): # DB 내 데이터 형식 중 JSON으로 변환 불가능한 형식이 있을때, STRING으로 바꿔줌
if isinstance(value, datetime.date):
return value.strftime('%Y-%m-%d') # strftime : 날짜, 시간을 string으로 변환
raise TypeError('not JSON serializable')
@app.route('/sendserver', methods=['POST','GET']) # 작성한 게시글 저장하는 함수
def toDB(): # DB에 저장
title = request.json['title'] # json형태의 키값중 'title'의 값을 리턴
contents = request.json['contents'] # json형태의 키값중 'contents'의 값을 리턴
userName = request.json['userName'] # json형태의 키값중 'userName'의 값을 리턴
time = request.json['time'] # json형태의 키값중 'time'의 값을 리턴
sendData.sendtodb(userName,title,contents,time) # models.py의 sendData클래스 내의 sendtodb함수 실행
return "Success"
@app.route("/likeup", methods=['POST','GET']) # 좋아요 숫자 늘리는 함수
def upLike():
postnum = request.form['postnum']
sendData.upLike(int(postnum))
return "Success"