π±
220820(ν )
August 20, 2022
πͺ΄ μ±μ₯μΌμ§
μ±
ν볡ν μ΄κΈ°μ£Όμμ(μ¨μΈ λ€μ΄μ΄)
μ λ΄μ©μ μκ·Ήλ°μ μμνλ μλ°ν μ±μ₯κΈ°λ‘
μ΄μμλ κ½κ³Ό μ£½μ κ½μ μ΄λ»κ² ꡬλ³νλκ°?
μ±μ₯νκ³ μλ κ²μ΄ μ΄μ μλ κ²μ΄λ€.
μλͺ μ μ μΌν μ¦κ±°λ μ±μ₯μ΄λ€!
π³ ν€μλ μ΅λν κ°λ¨νκ² μ 리, μΆνμ 보면μ μ€μ€λ‘ μ€λͺ
ν΄λΌμ΄μΈνΈ λ° μλ² κ° ν΅μ (feat. JS, JQuery, Python, flask, Ajax)
μμ μ½λ(λΌμ΄λΈλ¬λ¦¬λ νλ μ μν¬λ₯Ό νΈμΆνλ μ½λλ μλ΅)
- μ½λ μ체 λ¨μν μμ μ½λλ‘ μ΄ μ½λ μ체μ μ§μ€νκΈ°λ³΄λ¨ μ΄λ»κ² ν΄λΌμ΄μΈνΈ(νλ‘ νΈ)μ μλ²(λ°±)μ΄ μλ‘ ν΅μ νλμ§ κ°μ μ‘μ μ μκ² νμ!
$(document).ready(function () {
$('body').html(''); // νλ©΄ μ΄κΈ°ν(body νκ·Έλ₯Ό λΉκ°μΌλ‘)
showPage(); // νΉμ νμ΄μ§λ₯Ό 보μ¬μ£Όλ ν¨μ
});
function showPage() {
$.ajax({
type: 'GET',
url: '/page',
data: {},
success: function (response) {
let pages = JSON.parse(response['value']);
for (let i = 0; i < pages.length; i++) {
makePage(
pages[i]['first'],
pages[i]['second'],
pages[i]['_id']['$oid'], // λͺ½κ³ DBμ λ°μ΄ν° idκ°μ κ°μ Έμ€κΈ° μν¨(κ³ μ κ°)
);
}
},
});
}
// μ΄μΈμλ GET, POST λ±μ μ΄μ©νμ¬ μΉ μλ²μμ ν΅μ μ μν κΈ°λ₯ ꡬν κ°λ₯
## μ΄ λ λ
μλ€μ λͺ½κ³ DBμ _id κ°μ²΄κ° λ¨μ λ¬Έμμ΄μ΄ μλ ObjectIDλΌλ νΉλ³ν κ°μ²΄μ΄κΈ° λλ¬Έμ
## λ°λ‘ νΉλ³ν jsonifyνκΈ° μν λΌμ΄λΈλ¬λ¦¬
from bson.json_util import dumps
from bson.objectid import ObjectId
@app.route('/')
def home():
return render_template('index.html')
@app.route('/page', methods=['GET'])
def read_pages():
result = list(db.pages.find({}))
return jsonify({'result':'success', 'pages': dumps(result)})
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
## ν΄λΌμ΄μΈνΈλ¨κ³Ό λ§μ°¬κ°μ§λ‘ μλ²λ¨μμλ λ€μν μλ΅μ λν λ€μν λ°μ΄ν° μ λ¬ λ°©λ²(API)λ₯Ό 지 μ μλ€.