
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
안녕하세요 제가 외부에서 제가 만든 몽고디비를 연결시켜 그 안에 데이터를 넣어봤는데요 몽고디비에서는 값이 들어오는 것을 확인하였는데 그 값이 웹서버에 띄워지지 않습니다 ㅠㅠ 뭐가 문제인건가요..? app.py에서 /hon 부분입니다.
from flask import Flask, render_template, request, jsonify
app = Flask(__name__)
from pymongo import MongoClient
client = MongoClient('mongodb+srv://test:sparta@cluster0.lq8puxq.mongodb.net/Cluster0?retryWrites=true&w=majority')
db = client.dbsparta
@app.route('/')
def home():
return render_template('index.html')
@app.route('/login')
def login():
return render_template('login.html')
@app.route('/car')
def car():
return render_template('car.html')
@app.route('/camera')
def camera():
return render_template('camera.html')
@app.route("/cars", methods=["GET"])
def web_cars_get():
order_list = list(db.cars.find({},{'_id':False}))
return jsonify({'orders': order_list})
@app.route("/hon", methods=["GET"])
def web_hon_get():
order_list = list(db.hon.find({},{'_id':False}))
return jsonify({'orders': order_list[-1]})
@app.route('/test', methods=['GET'])
def test_get():
title_receive = request.args.get('title_give')
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
@app.route('/test', methods=['POST'])
def test_post():
title_receive = request.form['title_give']
return jsonify({'result':'success', 'msg': '요청 잘 받았어용'})
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
이게 app.py파일이구요
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<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>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
function hey(){
$.ajax({
type: "POST",
url: "/test",
data: {title_give: '봄날은간다'},
success: function (response) {
console.log(response)
}
})
}
</script>
<title>스마트가로등 페이지</title>
<style type="text/css">
.mytitle{
height: 350px;
padding: 150px;
text-align: center;
background-image: url("https://search.pstatic.net/common/?src=http%3A%2F%2Fblogfiles.naver.net%2FMjAxODExMjJfNzkg%2FMDAxNTQyODcyMjIxNDE0.aRx_2IE9YC7bT4ejXkdK-1Mkab0LGsdn1OIJMD5BCJ0g.f0npgzT0zUXa84N5CuLg67-kQYbuq1ylVIuBzcADU14g.JPEG.hi_nso%2Fdd.JPG&type=sc960_832");
background-position: center 5%;
background-size: cover;
color: darkblue;
}
.mytitle>button{
margin-top: 20px;
}
.box_a{
width: 400px;
height: 150px;
margin: 70px auto 0 auto;
box-shadow: 0 0 3px 0 gray;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.box_a>button{
margin-left: 10px;
margin-right: 60px;
}
div.box_b {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.bad {
color: red;
}
</style>
<script>
$(document).ready(function () {
show_order();
});
function show_order() {
$('#order-box').empty()
$.ajax({
type: 'GET',
url: '/hon',
data: {},
success: function (response) {
let rows = response['orders']
let road = `<h2>${rows.road}</h2>`;
$('#order-box').append(road);
$('#order-box').show()
// let rows = response['orders']
// for(let i = 0; i < rows.length; i++) {
// let road = rows[i]['road']
// $('#order-box').empty()
// let temp_html = `<h2>${road}</h2>`
// $('#order-box').append(temp_html)
// }
}
});
}
</script>
</head>
<body>
<div class="mytitle">
<h1>스마트가로등</h1>
<button onclick="window.location.href='/login'" type="button" class="btn btn-outline-secondary">관리페이지로 이동하기</button>
</div>
<div class="box_a">
<div class="card border-dark mb-3" style="max-width: 18rem;">
<div class="card-header" onclick="window.location.href='/camera'">도로혼잡도</div>
<div class="card-body text-dark">
<h5 id="order-box" class="card-title"></h5>
</div>
</div>
</div>
</body>
</html>
이게 index파일입니다.
