커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
5-9
undefined주차
북마크
차*현
댓글
1
추천
0
조회수
10
조회수
10
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


5-9 수업 진행중인데 수업내용에 따라 진행하였으나, 팬명록 댓글 남기기를 클릭하면 저장 완료! 메시지도 뜨지 않고 아무런 반응이 없습니다.

한참 코드대조를 해봐도 문제점을 발견 못해서 강의자료에 있는 코드 자체를 복붙해봐도 같은 현상입니다.

몽고db에도 뜨질 않네요.

다른 문제점이 있을까요?




index.html


<!DOCTYPE html>

<html lang="en">

 <head>

  <meta charset="UTF-8" />

  <meta http-equiv="X-UA-Compatible" content="IE=edge" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />


  <link

   href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css"

   rel="stylesheet"

   integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"

   crossorigin="anonymous"

  />

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

  <script

   src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"

   integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"

   crossorigin="anonymous"

  ></script>


  <title>초미니홈피 - 팬명록</title>


  <link

   href="https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@200;300;400;500;600;700;900&display=swap"

   rel="stylesheet"

  />

  <style>

   * {

    font-family"Noto Serif KR"serif;

   }

   .mypic {

    width100%;

    height300px;


    background-imagelinear-gradient(

      0deg,

      rgba(0000.5),

      rgba(0000.5)

     ),

     url("https://cdn.topstarnews.net/news/photo/201807/456143_108614_510.jpg");

    background-positioncenter 30%;

    background-sizecover;


    colorwhite;


    displayflex;

    flex-directioncolumn;

    align-itemscenter;

    justify-contentcenter;

   }


   .mypost {

    width95%;

    max-width500px;

    margin20px auto 20px auto;


    box-shadow0px 0px 3px 0px black;

    padding20px;

   }


   .mypost > button {

    margin-top15px;

   }


   .mycards {

    width95%;

    max-width500px;

    marginauto;

   }


   .mycards > .card {

    margin-top10px;

    margin-bottom10px;

   }

  </style>

  <script>

   $(document).ready(function () {

    set_temp();

    show_comment();

   });

   function set_temp() {

    fetch("http://spartacodingclub.shop/sparta_api/weather/seoul").then((res=> res.json()).then((data=> {

    let temp = data['temp']

    $("#temp").text(temp)

   })

  }

   function save_comment() {

    let name = $("#name").val();

    let comment = $("#comment").val();


    let formData = new FormData();

    formData.append("name_give"name);

    formData.append("comment_give"comment);


    fetch('/guestbook', {method: "POST",body: formData,}).then((res=> res.json()).then((data=> {

      alert(data["msg"]);

      window.location.reload();

     });

   }

   function show_comment() {

    fetch('/guestbook').then((res=> res.json()).then((data=> {

      let rows = data['result']

      $("#comment-list").empty()

      rows.forEach((a=> {

       let name = a['name']

       let comment = a['comment']


       let temp_html = `<div class="card">

              <div class="card-body">

                <blockquote class="blockquote mb-0">

                  <p>${comment}</p>

                  <footer class="blockquote-footer">${name}</footer>

                </blockquote>

              </div>

            </div>`

       $("#comment-list").append(temp_html)

      })

     })

   }

  </script>

 </head>

 <body>

  <div class="mypic">

   <h1>십센치(10cm) 팬명록</h1>

   <p>현재기온: <span id="temp">36</span></p>

  </div>

  <div class="mypost">

   <div class="form-floating mb-3">

    <input type="text" class="form-control" id="name" placeholder="url" />

    <label for="floatingInput">닉네임</label>

   </div>

   <div class="form-floating">

    <textarea

     class="form-control"

     placeholder="Leave a comment here"

     id="comment"

     style="height: 100px"

    ></textarea>

    <label for="floatingTextarea2">응원댓글</label>

   </div>

   <button onclick="save_comment()" type="button" class="btn btn-dark">

    댓글 남기기

   </button>

  </div>

  <div class="mycards" id="comment-list">

   <div class="card">

    <div class="card-body">

     <blockquote class="blockquote mb-0">

      <p>새로운 앨범 너무 멋져요!</p>

      <footer class="blockquote-footer">호빵맨</footer>

     </blockquote>

    </div>

   </div>

   <div class="card">

    <div class="card-body">

     <blockquote class="blockquote mb-0">

      <p>새로운 앨범 너무 멋져요!</p>

      <footer class="blockquote-footer">호빵맨</footer>

     </blockquote>

    </div>

   </div>

   <div class="card">

    <div class="card-body">

     <blockquote class="blockquote mb-0">

      <p>새로운 앨범 너무 멋져요!</p>

      <footer class="blockquote-footer">호빵맨</footer>

     </blockquote>

    </div>

   </div>

  </div>

 </body>

</html>



app.py



from flask import Flaskrender_templaterequestjsonify

app = Flask(__name__)


from pymongo import MongoClient


client = MongoClient('내 mongodb URL')

db = client.dbsparta


@app.route('/')

def home():

  return render_template('index.html')


@app.route("/guestbook"methods=["POST"])

def guestbook_post():

  name_receive = request.form["name_give"]

  comment_receive = request.form["comment_give"]


  doc = {

    'name'name_receive,

    'comment'comment_receive

  }


  db.fan.insert_one(doc)

  return jsonify({'msg':'응원 완료!'})


@app.route("/guestbook"methods=["GET"])

def guestbook_get():

  all_comments = list(db.fan.find({},{'_id':False}))

  return jsonify({'result':all_comments})


if __name__ == '__main__':

  app.run('0.0.0.0'port=5000debug=True)












취소
 공유
취소
댓글 0
댓글 알림
나의얼굴