내일배움단_메이킹챌린지_6기_(5)
#코딩 개발일지 시작의 한마디
- 리뷰(댓글) 구현
#개발 업무내용
[오늘의 목표]
1. 리뷰(댓글) 기능 구현
[토의내용]
1. 레시피를 유저가 직접 추가하는 기능은 빼고 보고싶은 레시피를 추가해달라고 요청하는 기능으로 변경
#업무 중 이슈/고민 .. 그리고 해결한 내용
상세레시피 페이지에 들어와서 맨 밑에 리뷰를 달수있는 기능 구현!
app.py
@app.route("/review", methods=["POST"])
def add_review():
try:
recipe_receive = request.form["recipe_give"]
comment_receive = request.form["comment_give"]
if session["user_id"] is None:
return jsonify({"msg": "로그인이 필요합니다."})
else:
doc = {
"user_id": session["user_id"],
"name": recipe_receive,
"comment": comment_receive,
"datetime": time.strftime("%Y-%m-%d %H:%M"),
}
db.reviews.insert_one(doc)
except Exception:
return jsonify({"msg": "로그인이 필요합니다."})
return jsonify({"user_id": session["user_id"]})
@app.route("/review/show", methods=["POST"])
def read_reviews():
name_receive = request.form["name_give"]
reviews = list(db.reviews.find({"name": name_receive}, {"_id": False}))
return jsonify({"all_reviews": reviews})
recipe.js
function review_show(name){
$.ajax({
type: "POST",
url: "/review/show",
data: {name_give:name},
success: function (response) {
let reviews = response['all_reviews']
for (let i = 0; i < reviews.length; i++) {
let comment = reviews[i]['comment']
let user_id = reviews[i]['user_id']
let datetime = reviews[i]['datetime']
let review_html = `<li> ${comment} / ${user_id} / ${datetime} </li>`
$('#review-list').append(review_html)
}
}
})
}
function add_review(name){
let comment = $('#new-review').val();
$.ajax({
type: "POST",
url: "/review",
data: {recipe_give:name, comment_give:comment},
success: function (response) {
let user_id = response['user_id']
let review_html = `<li> ${comment} / ${user_id} / ${date} </li>`
if (user_id == undefined) {
alert('로그인 후 이용해주세요.')
} else{
$('#review-list').append(review_html)
alert('추가 완료')
}
}
})
}
#To-do List
레시피 요청 기능 구현
Author And Source
이 문제에 관하여(내일배움단_메이킹챌린지_6기_(5)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kjh8673a/내일배움단메이킹챌린지6기5저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)