完成评论功能
定义评论的视图函数
@app.route('/comment/',methods=['POST'])
def comment():
读取前端页面数据,保存到数据库中
要求评论前登录
@app.route('/comment/', methods=['POST'])
@loginFirst
def comment():
comment = request.form.get('comment')
sent_id = request.form.get('sent_id')
auth_id = User.query.filter(User.username == session.get("user")).first().id
comm = Comment(author_id=auth_id, sent_id=sent_id, detail=comment)
db.session.add(comm)
db.session.commit()
return redirect(url_for('detail', sent_id=sent_id))用<input type="hidden" 方法获取前端的"question_id"
<input type="hidden" name="sent_id" id="sent_id" value="{{ sen.id }}">显示评论次数
<h4>评论:({{ sen.comments|length }})</h4>尝试实现详情页面下的评论列表显示
html
<div>
<h4>评论:({{ sen.comments|length }})</h4>
{% for foo in comment %}
<ul style="padding-left: 0px;margin-bottom: 0px;">
<li class="list-group-item" style="width: 900px">
<a href="">{{ foo.author.username }}</a>
评论时间:{{ foo.creat_time }}
<p>{{ foo.detail }}</p>
</li>
</ul>
{% endfor %}
</div>py
@app.route('/detail/<sent_id>')
def detail(sent_id):
sentt = Sent.query.filter(Sent.id == sent_id).first()
context = {
'comment': Comment.query.all(),
}
return render_template('detail.html', sen=sentt, **context)