μμ κΈ°λ₯μ λ§λ€κΈ° μ κΉμ§λ λ¨μν urlμ λ°μμ μ μ₯νκ³ λ°μμ¨ url μ 보λ₯Ό μΉ΄λ ννλ‘ λ³΄μ¬μ£Όλ κ²μ λΆκ³Όνλ€.
νμ§λ§, νμ μλ λ°μ΄ν° νΉμ μλͺ» κ°μ Έμ¨ λ°μ΄ν°λ₯Ό μμ ν μ μμ΄μΌ νλ€.
β μμ κΈ°λ₯μ΄ μλ€λ©΄... λΆνμν λ°μ΄ν°κ° κ³μ μμ΄κ³ μ¬μ©μλ μνμ§ μμ μ 보λ₯Ό κ³μ λ΄μΌλ§ νλ€. (μΈμ λΆμΉμ ν μ¬μ΄νΈκ° λλ κ² γ
)
λ°μ΄ν°λ₯Ό μμ νλ μ½λλ₯Ό μμ±ν΄ λ΄€κΈ° λλ¬Έμ μ΄λ μ¬μ©νλ μ½λλ€μ μ νμ©ν΄μ μμ κΈ°λ₯μ ꡬνν μ μμλ€.
- μμ±λλ μΉ΄λμ κ³ μ λ²νΈλ₯Ό λΆμ¬νμ!
μνλ μΉ΄λλ₯Ό μμ νκΈ° μν 쑰건μ 무μμΌλ‘ ν΄μΌ ν κΉ κ³ λ―Όμ νλ€κ° μ μ΄μ DBμ μ²μ μ μ₯μ ν λ μΉ΄λμ κ³ μ ν λ²νΈλ₯Ό μμ±νκΈ°λ‘ νλ€.
DB μμ 쑰건μΌλ‘ κ°λ¨νκ² κ³ μ λ²νΈλ₯Ό λ°μμ€λ©΄ μ½κ² μΌμΉνλ λ°μ΄ν°λ₯Ό μ°Ύμ μ μκ³ λ μμ ν μ μλ€.
page_list = list(db.pages.find({}, {'_id': False}))
count = len(page_list) + 1
doc = {
'url': url_receive,
'title': title,
'image': image,
'desc': desc,
'num': count
}
β μ 체 DB κΈΈμ΄λ₯Ό ꡬν΄μ DBμ μ«μμ + 1μ νλ μμΌλ‘ μμ±λ μΉ΄λμ κ³ μ ν λ²νΈλ₯Ό λΆμ¬νλ€.
<button onclick="delete_video(${num})" type="button" class="btn btn-outline-dark" style="margin-top: 10px">Delete</button>
β temp_htmlμ μμ λ²νΌμ λ£μ λ DB μ μ₯ λ μμ±ν κ³ μ λ²νΈλ₯Ό ν΄λΉ λ²νΌμ λΆμ¬νλ€.
- ν΄λΌμμλ μμ ν¨μμ λ§€κ°λ³μμΈ numμ κ·Έλλ‘ κ°μ Έμμ μλ²λ‘ μ λ¬νλ€.
function delete_page(num){
$.ajax({
type: 'POST',
url: '/delete/page',
data: {num_give: num},
success: function (response) {
alert(response['msg'])
window.location.reload()
}
});
}
β λ§€κ°λ³μλ‘ λ°μ μ¨ λ²νΈλ₯Ό μλ²λ‘ μ λ¬!
- μλ²λ ν΄λΌμμ λ°μ μ¨ λ²νΈλ₯Ό 쑰건μΌλ‘ 쑰건μ ν΄λΉνλ μΉ΄λ λ°μ΄ν°λ₯Ό μμ νλ€.
@app.route("/delete/page", methods=["POST"])
def delete_page():
num_receive = request.form['num_give']
db.pages.delete_one({'num': int(num_receive)})
// ν΄λΌμμ λ°μμ¨ μ«μ λ°μ΄ν°λ μλ²μμ λ°μ λ λ¬Έμλ‘ μΈμνκΈ° λλ¬Έμ κΌ μ«μ λ°μ΄ν° νμ
μΌλ‘ λ³νμ΄ νμνλ€!
// μλ¬κ° μκΈΈ μ μλ λΆλΆ!!
return jsonify({'msg': 'μμ μλ£'})
: ν΄λΌμμ λ°μ΄ν°λ₯Ό λ°μ λ μ«μ λ°μ΄ν°μ κ²½μ° μλ²λ λ¬Έμ λ°μ΄ν°λ‘ μΈμνμ¬ λ°κ² λλ€. λ°λΌμ, 쑰건μ λ¬Έμκ° μλ μ«μλ‘ μΈμν μ μλλ‘ int()λ₯Ό λ°λμ λ£μ΄μΌ νλ€!
β λ§μ½ μμ λ²νΌμ ν΄λ¦ν΄λ μλ¬΄λ° λ³νκ° μλ€λ©΄ μ«μ λ³νμ νλμ§, λ¨Όμ μκ°ν΄ 보면 μ’μ κ² κ°λ€!