完成评论功能

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.尝试实现详情页面下的评论列表显示

 

 

网页运行结果:

数据库运行结果:

 

posted @ 2017-12-08 09:45  031庄园  阅读(173)  评论(0编辑  收藏  举报