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

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

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


인스턴스 퍼블릭 IPv4 주소가 15.164.231.12 인데, 15.164.231.12로 접속 시에는 로딩이 안되고 끝에 :5000을 넣어야만 접속이 됩니다.

이것 때문에 가비아에서 DNS 설정 했을때도 도메인 주소 적용이 안되는 것 같은데, 어떻게 하면 될까요?






  • app.py 코드

from flask import Flask, render_template, request, jsonify

app = Flask(__name__)


from pymongo import MongoClient

import certifi

ca = certifi.where()

client = MongoClient('mongodb+srv://Sia:sparta@cluster0.6j5vg.mongodb.net/?retryWrites=true&w=majority',

           tlsCAFile=ca)

db = client.dbsparta


@app.route('/')

def home():

  return render_template('index.html')


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

def homework_post():

  name_receive = request.form['name_give']

  comment_receive = request.form['comment_give']


  doc = {

    'name': name_receive,

    'comment': comment_receive

  }


  db.homework.insert_one(doc)

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


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

def homework_get():

  comment_list = list(db.homework.find({},{'_id':False}))


  return jsonify({'comments': comment_list})


if __name__ == '__main__':

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


  • 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">


  <meta property="og:title" content="21 Savage Fanpage" />

  <meta property="og:description" content="Fanpage of 21 Savage" />

  <meta property="og:image" content="https://i.guim.co.uk/img/media/812da1e53127011a8adb395045c69722305dbef6/0_0_1548_929/master/1548.jpg?width=620&quality=45&auto=format&fit=max&dpr=2&s=b5f5816ed73d08103c817d53a8a6e01d" />


  <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 {

width: 100%;

height: 300px;


background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('https://i.guim.co.uk/img/media/812da1e53127011a8adb395045c69722305dbef6/0_0_1548_929/master/1548.jpg?width=620&quality=45&auto=format&fit=max&dpr=2&s=b5f5816ed73d08103c817d53a8a6e01d');

background-position: center 30%;

background-size: cover;


color: white;


display: flex;

flex-direction: column;

align-items: center;

justify-content: center;

}


.mypost {

width: 95%;

max-width: 500px;

margin: 20px auto 20px auto;


box-shadow: 0px 0px 3px 0px black;

padding: 20px;

}


.mypost > button {

margin-top: 15px;

}


.mycards {

width: 95%;

max-width: 500px;

margin: auto;

}


.mycards > .card {

margin-top: 10px;

margin-bottom: 10px;

}


  </style>

  <script>

  $(document).ready(function(){

      set_temp()

      show_comment()

    });

    function set_temp(){

      $.ajax({

        type: "GET",

        url: "http://spartacodingclub.shop/sparta_api/weather/seoul",

        data: {},

        success: function (response) {

          $('#temp').text(response['temp'])

        }

      })

    }

    function save_comment(){

      let name = $('#name').val()

      let comment = $('#comment').val()


      $.ajax({

        type: 'POST',

        url: '/homework',

        data: {'name_give':name, 'comment_give':comment},

        success: function (response) {

          alert(response['msg'])

          window.location.reload()

        }

      })

    }

    function show_comment(){

      $('comment-list').empty()

      $.ajax({

        type: "GET",

        url: "/homework",

        data: {},

        success: function (response) {

          let rows = response['comments']

          for (let i = 0; i < rows.length; i++){

            let name = rows[i]['name']

            let comment = rows[i]['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>21 Savage Fanpage</h1>

  <p>Current temperature: <span id="temp"></span>'C</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>

</body>

</html>

스파르타 즉문즉답





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