항해99 개발일지
웹 개발 종합 4주차
카로루딘
2023. 1. 11. 00:50
Flask
API 서버를 만드는데 쓰이는 Flask는 코드가 단순하다는 장점을 가지고 있다. 사용하기 위해선 우선 Flask 패키지를 설치한 다음 진행한다.
Flask의 시작 코드는 아래와 같다.
1
2
3
4
5
6
7
8
9
|
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'This is Home!'
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
|
cs |
@app.route('/')를 수정하여 URL을 나눌 수 있다. Flask를 활용하는 API에는 이미지, CSS를 포함하는 static 폴더, html파일을 넣어두는 templates 폴더, app 파이썬 파일로 구성된다.
API 제작
본격적으로 API를 제작하기 위해선 GET, POST를 잘 다뤄야한다. GET은 데이터를 받아오거나 특정 데이터를 전달할 때 쓰이며 POST는 통상적으로 데이터를 생성, 변경, 삭제할 때 사용된다. 아래 코드의 펑션 show_fan은 /fan의 GET메소드로부터 응답파일을 받아 for문으로 데이터를 할당하여 표시하며, save_fan은 html에서 입력받은 정보를 데이터로 정리하여 마찬가지로 /fan의 POST메소드로 전달하는 역할이다. window.location.reload는 갱신된 정보를 불러오기 위해 화면을 새로고침하는 코드이다.
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
|
function save_fan() {
let name = $('#nickname').val()
let comment = $('#comment').val()
$.ajax({
type: 'POST',
url: '/fan',
data: {name_give: name, comment_give: comment},
success: function (response) {
alert(response['msg'])
window.location.reload()
}
});
}
function show_fan() {
$.ajax({
type: 'GET',
url: '/fan',
data: {},
success: function (response) {
let rows = response['orders']
for (let i = 0; i < rows.length; i++) {
let name = rows[i]['name']
let comm = rows[i]['comment']
let temp_html = `<div class="col">
<div class="card h-100">
<div class="card-body">
<p class="card-text">${name}</p>
<footer class="blockquote-footer">${comm}</footer>
</div>
</div>
</div>`
|
cs |
소감
GET POST, 원리는 알겠는데 자세한 작동로직을 이해하려면 좀 더 면밀하게 살펴봐야 할 것 같다.