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


에러를 보고 구글링을 해보니 파라미터 이름의 목록과 flask에서 받아들이는 목록이 다르다는데 분명히 같은데 계속 오류가 납니다..



스파르타 즉문즉답

고 계신 화면 전체를 캡처해 주시면, 튜터님들이 빠르게 상황을 상황을 이해할 수 있어요.




작성한 코드 및 에러 메세지

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)





<!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.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Jua&display=swap" rel="stylesheet">

    <style>
        *{
            font-family: 'Jua', sans-serif;
        }
        .posting-box {
            width: 500px;
            margin-top: 20px;
        }
        .wrap{
            width: 900px;
            margin: auto;
        }
        .container{
            padding-left: 50px;
        }
    </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" id="exampleFormControlInput1"
                           placeholder="사진 제목">
                </div>
                <div class="form-group">
                    <textarea class="form-control" id="exampleFormControlTextarea1" id="content" rows="3" placeholder="내용 입력"></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>


발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!




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