
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
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(으)로 완료된 프로세스
