
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
<!-- style.css 파일을 같은 폴더에 만들고, head 태그에서 불러오기 -->
<link rel="stylesheet" type="text/css" href = "../static/food.css">
<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>
<link href="https://fonts.googleapis.com/css2?family=Jua&display=swap" rel="stylesheet">
<title>맛집 일지</title>
<script>$(document).ready(function () {
show_order();
});
function show_order() {
$('#menu').empty()
$.ajax({
type: 'GET',
url: '/test',
data: {},
success: function (response) {
let rows = response['test']
for (let i = 0; i < rows.length; i++) {
let name = rows[i]['name']
let address = rows[i]['address']
let star = rows[i]['star']
let main = rows[i]['main']
let comment = rows[i]['comment']
let star_image = '⭐'.repeat(star)
let temp_html = `<div class="card" style="width: 18rem; margin-right: 1rem">
<div class="card-body">
<h5 class="card-title">${name}</h5>
<p class="card-text">${address}</p>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item">${star_image}</li>
<li class="list-group-item">${main}</li>
</ul>
<div class="card-body">
<h6>${comment}</h6>
</div>
</div>`
$('#menu').append(temp_html)
}
}
});
}
function save_order() {
let name = $('#name').val()
let address = $('#address').val()
let star = $('#star').val()
let main = $('#main').val()
let comment = $('#comment').val()
$.ajax({
type: 'POST',
url: '/test',
data: {name_give:name, address_give:address, star_give:star, main_give:main, comment_give:comment},
success: function (response) {
alert(response['msg'])
}
});
}
$(document).ready(function () {
show_bucket();
});
function show_bucket(){
$.ajax({
type: "GET",
url: "/bucket",
data: {},
success: function (response) {
alert(response["msg"])
}
});
}
function save_bucket(){
let bucket = $('#bucket').val()
$.ajax({
type: "POST",
url: "/bucket",
data: {bucket_give:bucket},
success: function (response) {
alert(response["msg"])
window.location.reload()
}
});
}
function done_bucket(num){
$.ajax({
type: "POST",
url: "/bucket/done",
data: {sample_give:'데이터전송'},
success: function (response) {
alert(response["msg"])
}
});
}
</script>
</head>
<body>
<div class="back">
<h1>맛집일지!!</h1>
<button >리뷰 & 목표맛집 </button>
</div>
<div class="g1" id="g1_box">
<div class="comment-box">
<div class="form-floating mb-3">
<input type="name" class="form-control" id="name" placeholder="상호명">
<label for="name">상호명</label>
</div>
<div class="form-floating">
<input type="adress" class="form-control" id="address" placeholder="주소">
<label for="address">주소</label>
</div>
<p>
<div class="input-group mb-3">
<label class="input-group-text" for="star">별점</label>
<select class="form-select" id="star">
<option selected>평가는?</option>
<option value="1">⭐</option>
<option value="2">⭐⭐</option>
<option value="3">⭐⭐⭐</option>
<option value="3">⭐⭐⭐⭐</option>
<option value="3">⭐⭐⭐⭐⭐</option>
</select>
</div>
<div class="form-floating mb-3">
<input type="main" class="form-control" id="main" placeholder="대표메뉴">
<label for="main">대표메뉴</label>
</div>
<div class="form-floating">
<textarea class="form-control" placeholder="메모" id="comment"
style="height: 100px"></textarea>
<label for="comment">메모</label>
</div>
<div>
<button onclick="save_order()" ()type="button" class="btn btn-outline-primary" style="margin-top: 1rem">기록하기</button>
</div>
</div>
<div class="g2">
<div class="mybox">
<div class="mybucket">
<input id="bucket" class="form-control" type="text" placeholder="이루고 싶은 것을 입력하세요">
<button onclick="save_bucket()" type="button" class="btn btn-outline-primary">기록하기</button>
</div>
</div>
<div class="mybox" id="bucket-list">
<li>
<h2>✅ 호주에서 스카이다이빙 하기</h2>
<button onclick="done_bucket(5)" type="button" class="btn btn-outline-primary">완료!</button>
</li>
<li>
<h2 class="done">✅ 호주에서 스카이다이빙 하기</h2>
</li>
<li>
<h2>✅ 호주에서 스카이다이빙 하기</h2>
<button type="button" class="btn btn-outline-primary">완료!</button>
</li>
</div>
</div>
</div>
<div class="card-box">
<div class="row row-cols-1 row-cols-md-4 g-4" id="menu">
<div class="card" style="width: 18rem; margin-right: 1rem">
<div class="card-body">
<h5 class="card-title">엄마 밥</h5>
<p class="card-text">서울시 양천구 월정로 303 수명산롯데캐슬</p>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item">⭐⭐⭐⭐⭐</li>
<li class="list-group-item">모든 메뉴</li>
</ul>
<div class="card-body">
<h6>dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd</h6>
</div>
</div>
<div class="card" style="width: 18rem; margin-right: 1rem">
<div class="card-body">
<h5 class="card-title">엄마 밥</h5>
<p class="card-text">서울시 양천구 월정로 303 수명산롯데캐슬</p>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item">⭐⭐⭐⭐⭐</li>
<li class="list-group-item">모든 메뉴</li>
</ul>
<div class="card-body">
<h6>dddddddddddd</h6>
</div>
</div>
<div class="card" style="width: 18rem; margin-right: 1rem">
<div class="card-body">
<h5 class="card-title">엄마 밥</h5>
<p class="card-text">서울시 양천구 월정로 303 수명산롯데캐슬</p>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item">⭐⭐⭐⭐⭐</li>
<li class="list-group-item">모든 메뉴</li>
</ul>
<div class="card-body">
<h6>dddddddddddd</h6>
</div>
</div>
<div class="card" style="width: 18rem; margin-right: 1rem">
<div class="card-body">
<h5 class="card-title">엄마 밥</h5>
<p class="card-text">서울시 양천구 월정로 303 수명산롯데캐슬</p>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item">⭐⭐⭐⭐⭐</li>
<li class="list-group-item">모든 메뉴</li>
</ul>
<div class="card-body">
<h6>dddddddddddd</h6>
</div>
</div>
</div>
</div>
</body>
</html>
from flask import Flask, render_template, request, jsonify
app = Flask(__name__)
from pymongo import MongoClient
client = MongoClient('mongodb+srv://limsanggyu:lgo!12qwopqw12@cluster0.kdfqzoq.mongodb.net/Cluster0?retryWrites=true&w=majority')
db = client.dbsparta
@app.route('/')
def home():
return render_template('index.html')
@app.route("/test", methods=["POST"])
def web_test_post():
name_receive = request.form['name_give']
address_receive = request.form['address_give']
star_receive = request.form['star_give']
main_receive = request.form['main_give']
comment_receive = request.form['comment_give']
doc = {
'name':name_receive,
'address': address_receive,
'star': star_receive,
'main': main_receive,
'comment': comment_receive
}
db.test.insert_one(doc)
return jsonify({'msg': 'POST 연결 완료!'})
@app.route("/test", methods=["GET"])
def web_test_get():
test_list = list(db.test.find({}, {'_id': False}))
return jsonify({'test': test_list})
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)
@app.route('/')
def home():
return render_template('index.html')
@app.route("/test2", methods=["POST"])
def bucket_post():
bucket_receive = request.form['bucket_give']
count = list(db.test2.find({}, {'_id': False}))
num = len(count) + 1
doc = {
'num':num,
'buckek':bucket_receive,
'dune':0
}
db.test2.insert_one(doc)
return jsonify({'msg': '등록완료'})
@app.route("/test2/done", methods=["POST"])
def bucket_done():
sample_receive = request.form['sample_give']
print(sample_receive)
return jsonify({'msg': 'POST(완료) 연결 완료!'})
@app.route("/test2", methods=["GET"])
def bucket_get():
return jsonify({'msg': 'GET 연결 완료!'})
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)
이렇게 두개 사용 하면 안되나요?
