커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
웹개발 플러스 1주차 강의에서 질문있습니다..
undefined주차
북마크
이*솔
댓글
5
추천
0
조회수
46
조회수
46
답변 완료

로컬호스트 5000에서 저장하기 버튼을 클릭하면 작동이 되지 않습니다... 어떤 부분이 잘못된 것인지 궁금합니다 ㅠㅠ


app.py

from flask import Flask, render_template, jsonify, request
app = Flask(__name__)

from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta_plus_week1


@app.route('/')
def home():
    return render_template('index.html')

@app.route('/diary', methods=['GET'])
def show_diary():
    sample_receive = request.args.get('sample_give')
    print(sample_receive)
    return jsonify({'msg': 'GET 연결 완료!'})

@app.route('/diary', methods=['POST'])
def save_diary():
    title_receive = request.form['title_give']
    content_receive = request.form['content_give']
    
    doc = {
        'title':title_receive,
        'content':content_receive
    }

    db.articles.insert_one(doc)

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

if __name__ == '__main__':
    app.run('0.0.0.0', port=5000, debug=True)

index.html

<!doctype html>
<html lang="en">

<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
          integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
            integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
            crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
            integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
            crossorigin="anonymous"></script>

    <title>스파르타코딩클럽 | 부트스트랩 연습하기</title>
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Jua&family=Nanum+Gothic+Coding:wght@700&family=Noto+Serif+KR&display=swap"
          rel="stylesheet">
    <style>
        * {
            font-family: 'Jua', sans-serif;
        }

        .posting-box {
            width: 500px;
            margin-top: 20px;
        }

        .container {
            padding-left: 50px;
        }

        .wrap {
            width: 900px;

            margin: auto;
        }

    </style>

    <script>
        $(document).ready(function () {
            listing()
        })

        function listing() {
            $.ajax({
                type: "GET",
                url: "/diary?sample_give=샘플데이터",
                data: {},
                success: function (response) {
                    alert(response['msg'])
                }
            })
        }

        function posting() {
            let title = $('#title').val()
            let content = $('#content').val()

            $.ajax({
                type: "POST",
                url: "/diary",
                data: {title_give: title,content_give:content },
                success: function (response) {
                    alert(response['msg'])
                    window.location.reload()
                }
            })
        }

    </script>
</head>

<body>
<div class="wrap">
    <div class="jumbotron jumbotron-fluid">
        <div class="container">
            <h1>나홀로일기장</h1>
            <div class="posting-box">
                <div class="form-group">
                    <input type="email" class="form-control" id="title" placeholder="사진 제목">
                </div>
                <div class="form-group">
                    <textarea class="form-control" id="content" placeholder="내용 입력"
                              rows="3"></textarea>
                </div>
                <button onclick="posting()" type="button" class="btn btn-primary">저장하기</button>
            </div>
        </div>
    </div>
    <div class="card-columns">
        <div class="card">
            <!--    <img class="card-img-top" src="..." alt="Card image cap">-->
            <div class="card-body">
                <h5 class="card-title">캐비</h5>
                <p class="card-text">기힘든데존잼 ㅋ</p>
            </div>
        </div>
        <div class="card">
            <!--    <img class="card-img-top" src="..." alt="Card image cap">-->
            <div class="card-body">
                <h5 class="card-title">캐비</h5>
                <p class="card-text">기힘든데존잼 ㅋ</p>
            </div>
        </div>
        <div class="card">
            <!--    <img class="card-img-top" src="..." alt="Card image cap">-->
            <div class="card-body">
                <h5 class="card-title">캐비</h5>
                <p class="card-text">기힘든데존잼 ㅋ</p>
            </div>
        </div>
        <div class="card">
            <!--    <img class="card-img-top" src="..." alt="Card image cap">-->
            <div class="card-body">
                <h5 class="card-title">캐비</h5>
                <p class="card-text">기힘든데존잼 ㅋ</p>
            </div>
        </div>
        <div class="card">
            <!--    <img class="card-img-top" src="..." alt="Card image cap">-->
            <div class="card-body">
                <h5 class="card-title">캐비</h5>
                <p class="card-text">기힘든데존잼 ㅋ</p>
            </div>
        </div>
        <div class="card">
            <!--    <img class="card-img-top" src="..." alt="Card image cap">-->
            <div class="card-body">
                <h5 class="card-title">캐비</h5>
                <p class="card-text">기힘든데존잼 ㅋ</p>
            </div>
        </div>
    </div>
</div>
</body>

</html>

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