๋ฌด๋น์คํ์ ์ฌ์ฉ๋ ์ฝ๋๋ ๊นํ๋ธ์ ์ฌ๋ ค๋จ์ต๋๋ค.
https://github.com/Hong-been/Sparta/tree/main/moviestart
GitHub - Hong-been/Sparta: ์คํ๋ฅดํ ์ฝ๋ฉํด๋ฝ-์น๊ฐ๋ฐ์ข ํฉ๋ฐ์ ๋ค์ผ๋ฉฐ ์์ฑํ ์ฝ๋์ ๋๋ค.
์คํ๋ฅดํ ์ฝ๋ฉํด๋ฝ-์น๊ฐ๋ฐ์ข ํฉ๋ฐ์ ๋ค์ผ๋ฉฐ ์์ฑํ ์ฝ๋์ ๋๋ค. Contribute to Hong-been/Sparta development by creating an account on GitHub.
github.com
GET์ผ๋ก ์๋ฒ์์ ๋ฐ์ดํฐ์์ฒญ, ๊ฐ์ ธ์ค๊ธฐ
์๋ฒ๊ฐ ํ ์ผ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ like ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐ์ดํฐ ๋ณด๋ด์ฃผ๊ธฐ: sort(" ",-1)
movie_stars = list(db.mystar.find({},{'_id':False}).sort("like",-1));
๋์ํ์ง ์์ ๋, ์๋ฒ์์ ํจ ๊ฒ์ธ์ง ๊ผญ! ํ์ธ! (html๋ก ๋ณด๊ณ ์์์ ใ )
POST๋ก ์๋ฒ์ ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ, ์ญ์ ํ๊ธฐ
1. like๋ฒํผ ๋๋ฅด๋ฉด like ์ 1 ์ฆ๊ฐ์ํค๊ธฐ
- ์ข์์ ๋๋ฅด๋ฉด ํด๋น ๋ฐฐ์ฐ์ด๋ฆ์ ์๋ฒ๋ก ๋ณด๋ธ๋ค. → ๋ฐฐ์ฐ์ ์ข์์ ์๋ฅผ +1 ์ ๋ฐ์ดํธ → ํ์ด์ง ์๋ก๊ณ ์นจ
<a href="#" onclick="likeStar('${name}')" class="card-footer-item has-text-info">
function likeStar(name) {
$.ajax({
type: 'POST',
url: '/api/like',
data: {name_give:name},
success: function (response) {
alert(response['msg']);
window.location.reload()
}
});
}
@app.route('/api/like', methods=['POST'])
def like_star():
name_receive = request.form['name_give']
target_star=db.mystar.find_one({'name':name_receive})
new_like=target_star['like'] +1
db.mystar.update_one({'name':name_receive}, {'$set': {'like': new_like}})
return jsonify({'msg': '์ข์์ ๋์์ต๋๋ค!'})
- ๋ฐ์ ์ด๋ฆ์ ๊ทผ๊ฑฐ๋ก ํด๋นํ๋ ๊ฐ์ฒด๋ฅผ find_oneํด์ like๋ฅผ updateํ๋ค.
2. ์ญ์ ๋ฒํผ ๋๋ฅด๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํด๋น๋ฐฐ์ฐ ์ญ์ ํ๊ธฐ
@app.route('/api/delete', methods=['POST'])
def delete_star():
name_receive = request.form['name_give']
target_star = db.mystar.find_one({'name': name_receive})
db.mystar.delete_one({'name': name_receive})
return jsonify({'msg': '์ญ์ ๋์์ต๋๋ค!'})
- ์ข์์๋ฒํผ์ฒ๋ผ, ์ด๋ฆ์ ๋ฐ์์ ํด๋น ํ์ผ๊ฐ์ฒด๋ฅผ ์์๋ด๊ณ delete๋ก ์ญ์ ํ๋ค.
ํ๋ก์ ํธ ์คํฌ๋ฆฐ์ท
- ์ข์์ ๋ฒํผ์ ๋๋ฅด๋ฉด, ์๋ฆผ์ฐฝ์ด ๋จ๊ณ ์ข์์ ์๊ฐ 1 ์ฆ๊ฐํ๋ค. ์ญ์ ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ฐฐ์ฐ๊ฐ ์ญ์ ๋๋ค.
- ์ข์์๊ฐ ๋ง์ ์ฌ๋๋ถํฐ ์์๋๋ก ์ ๋ ฌ๋์ด ๋ณด์ฌ์ง๋ค.
๋ณต์ต ๊ฒธ ๋ฌด๋น์คํ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค.
์ด์ get,post๋ก ์๋ฒ-ํด๋ผ์ด์ธํธ ํต์ ํ๋ ๋ฐฉ๋ฒ์ด ๊ต์ฅํ ์ต์ํด์ก๋ค!!
๋ค์์ฃผ์ฐจ๋ถํฐ๋ ์๋ฒ๊ฐ๋ ๊ณผ ํด๋ผ์ฐ๋ ์๋ฒ๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ์๋น์ค๋ฅผ ๋์ฐ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ด๋ค.
๊ธฐ๋๋๋ค!!!