커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
4주차 숙제중 db문제
undefined주차
북마크
김*영
댓글
2
추천
0
조회수
25
조회수
25
답변 완료

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

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



4주차 숙제를 하는도중 db에 데이터를 받으려고 하니까 오류가 떠요ㅠㅠ

재부팅, pymongo, dnspython 설치 재설치도 많이해봤는데 안되네요...


전체 화면 캡처

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

from pymongo import MongoClient
client = MongoClient('mongodb+srv://test:sparta@cluster0.dhd2t83.mongodb.net/Cluster0?retryWrites=true&w=majority')
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': '저장 완료!'})


@app.route("/homework", methods=["GET"])
def homework_get():
    return jsonify({'msg': 'GET 연결 완료!'})


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


<!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 {
            width: 100%;
            height: 300px;

            background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('https://img.insight.co.kr/static/2018/09/18/700/5q8v2sqtv0m5if6o22a2.jpg');
            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() {
            $.ajax({
                type: "GET",
                url: "/homework",
                data: {},
                success: function (response) {
                    alert(response["msg"])
                }
            });
        }
    </script>
</head>
<body>
<div class="mypic"><h1>IU 팬명록</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>
C:\Users\FLEX5\Desktop\sparta\project\homework\venv\Scripts\python.exe C:\Users\FLEX5\Desktop\sparta\project\homework\app.py 
Traceback (most recent call last):
  File "C:\Users\FLEX5\Desktop\sparta\project\homework\venv\Lib\site-packages\pymongo\srv_resolver.py", line 89, in _resolve_uri
    results = _resolve(
              ^^^^^^^^^
  File "C:\Users\FLEX5\Desktop\sparta\project\homework\venv\Lib\site-packages\pymongo\srv_resolver.py", line 43, in _resolve
    return resolver.resolve(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\FLEX5\Desktop\sparta\project\homework\venv\Lib\site-packages\dns\resolver.py", line 1193, in resolve
    return get_default_resolver().resolve(qname, rdtype, rdclass, tcp, source,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\FLEX5\Desktop\sparta\project\homework\venv\Lib\site-packages\dns\resolver.py", line 1090, in resolve
    (answer, done) = resolution.query_result(response, None)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\FLEX5\Desktop\sparta\project\homework\venv\Lib\site-packages\dns\resolver.py", line 696, in query_result
    raise NoAnswer(response=answer.response)
dns.resolver.NoAnswer: The DNS response does not contain an answer to the question: _mongodb._tcp.cluster0.dhd2t83.mongodb.net. IN SRV


During handling of the above exception, another exception occurred:


Traceback (most recent call last):
  File "C:\Users\FLEX5\Desktop\sparta\project\homework\app.py", line 6, in <module>
    client = MongoClient('mongodb+srv://test:sparta@cluster0.dhd2t83.mongodb.net/Cluster0?retryWrites=true&w=majority')
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\FLEX5\Desktop\sparta\project\homework\venv\Lib\site-packages\pymongo\mongo_client.py", line 736, in __init__
    res = uri_parser.parse_uri(
          ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\FLEX5\Desktop\sparta\project\homework\venv\Lib\site-packages\pymongo\uri_parser.py", line 542, in parse_uri
    nodes = dns_resolver.get_hosts()
            ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\FLEX5\Desktop\sparta\project\homework\venv\Lib\site-packages\pymongo\srv_resolver.py", line 121, in get_hosts
    _, nodes = self._get_srv_response_and_hosts(True)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\FLEX5\Desktop\sparta\project\homework\venv\Lib\site-packages\pymongo\srv_resolver.py", line 101, in _get_srv_response_and_hosts
    results = self._resolve_uri(encapsulate_errors)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\FLEX5\Desktop\sparta\project\homework\venv\Lib\site-packages\pymongo\srv_resolver.py", line 97, in _resolve_uri
    raise ConfigurationError(str(exc))
pymongo.errors.ConfigurationError: The DNS response does not contain an answer to the question: _mongodb._tcp.cluster0.dhd2t83.mongodb.net. IN SRV


종료 코드 1(으)로 완료된 프로세스

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