카테고리 없음
오소플 과제
by leko
2023. 11. 28.
detail.html
<p>
item name is <b>{{name}}</b>
</p>
<p>
product number is {{data.product_number}}
</p>
<p>and product category is {{data.product_category}}
</p>
<p> product place is {{data.product_place}}
</p>
<p> product description is {{data.product_description}}
</p>
<p> start date is {{data.start_date}}
end date is {{data.end_date}}
</p>
<img src="/static/img/{{data.img_path}}", width=140, height=200>
<!--이거 추가 -->
<button onclick="location.href='/reg_review_init/{{name}}/';">
리뷰 등록
</button>
database.py
def reg_review(self, data, img_path):
review_info ={
"name": data['name'],
"title": data['title'],
"rate": data['rate'],
"review": data['review'],
"img_path": img_path
}
self.db.child("review").child(data['name']).set(review_info)
return True
application.py
#이거 추가
@app.route("/reg_review_init/<name>/")
def reg_review_init(name):
return render_template("review_add.html", name=name)
@app.route("/reg_review", methods=['POST'])
def reg_review():
print(request.files)
image_file = request.files.get("img_path")
image_file.save("static/img/{}".format(image_file.filename))
# 'reviewStar' 키가 없을 경우 기본값으로 '0' 사용
rate = request.form.get('reviewStar', '0')
data = {
'name': request.form['name'],
'title': request.form['title'],
'rate': rate,
'review': request.form['reviewContents'],
"img_path": "static/img/" + image_file.filename
}
DB.reg_review(data, image_file.filename)
return redirect(url_for('login'))
p16
list.html 처럼 review.html에 전체리뷰조회화면 만들기
나는 login으로 redirect시킴
근데 view_review로 시켜야함! application.py에 만들기!
review_add.html 수정
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="/static/css/review_add.css">
</head>
<body>
<form class="mb-3" name="myform" id="myform" method="post" action="/reg_review" enctype="multipart/form-data">
<div class="submit-section">
<button id="button1">임시저장</button>
<input type="submit" id="button2" value="등록하기">
</div>
<p id="title1">리뷰 작성하기</p>
<div style="display:flex; flex-direction: column;">
<div class = "tabs">
<div class = "tab">기본정보</div>
<div class = "tab">상품정보</div>
<div class = "tab">공지사항</div>
</div>
<div class="form-section">
상품: <input type="text" name="name" id="name" value="{{name}}"><br><br>
리뷰 제목: <input type="text" name="title" id="title" value=""><br><br>
<label for="review-content">리뷰 작성</label>
<p>공동 구매에 대한 리뷰를 작성해주세요.<br>작성해주신 리뷰는 리뷰 조회 페이지에 노출됩니다.</p>
<textarea class="col-auto form-control" type="text" name="reviewContents"
placeholder="리뷰를 남겨주세요 감사합니다!"></textarea>
<fieldset>
<span class="text-bold">별점을 선택해주세요</span>
<input type="radio" name="reviewStar" value="5" id="rate1"><label
for="rate1">★</label>
<input type="radio" name="reviewStar" value="4" id="rate2"><label
for="rate2">★</label>
<input type="radio" name="reviewStar" value="3" id="rate3"><label
for="rate3">★</label>
<input type="radio" name="reviewStar" value="2" id="rate4"><label
for="rate4">★</label>
<input type="radio" name="reviewStar" value="1" id="rate5"><label
for="rate5">★</label>
</fieldset>
리뷰이미지를 업로드해주세요
<input type="file" id="img_path" name="img_path" accept="image/*"><br><br>
</div>
</div>
<image id="backicon" src="../static/img/Group 45.png">
</body>
</form>