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 >