完成评论功能
1.定义评论的视图函数
@app.route('/comment/',methods=['POST'])
def comment():
读取前端页面数据,保存到数据库中
#评论页 @app.route('/comments/',methods=['POST']) @loginFirst def comments(): comment=request.form.get('new_comment') questions_id =request.form.get('questions_id') author_id = User.query.filter(User.username == session.get('user')).first().id comments = Comment(detail=comment, author_id=author_id, questions_id=questions_id) db.session.add(comments) # 保存到数据库 db.session.commit() # 提交 return redirect(url_for('detail',questions_id=questions_id))
2.用<input type="hidden" 方法获取前端的"question_id"
1 {#发布评论#} 2 <form action="{{ url_for('comments') }}" method="post" style="margin: 20px"> 3 <div class="form-group"> 4 <textarea name="new_comment" class="form-control" rows="3" id="new-comment" 5 placeholder="请写下你的评论"></textarea> 6 <input type="hidden" name="questions_id" value="{{ questions.id }}"> 7 </div> 8 <button type="submit" class="btn btn-default" >发送</button>
3.显示评论次数
<h4>评论({{ questions.comments|length }})</h4>
4.要求评论前登录
1 #评论页 2 @app.route('/comments/',methods=['POST']) 3 @loginFirst
5.尝试实现详情页面下的评论列表显示
网页运行结果:
数据库运行结果: