完成评论功能
- 定义评论的视图函数
@app.route('/comment/',methods=['POST'])
def comment():
读取前端页面数据,保存到数据库中 - 用<input type="hidden" 方法获取前端的"question_id"
- 显示评论次数
- 要求评论前登录
- 尝试实现详情页面下的评论列表显示
@app.route('/comment/',methods=['POST'])
@loginFirst
def comment():
comment =request.form.get('new_comment')
ques_id =request.form.get('question_id')
auth_id =User.query.filter(User.username == session.get('user')).first().id
comm = Comment(author_id=auth_id,question_id=ques_id,detail=comment)
db.session.add(comm)
db.session.commit()
return redirect(url_for('xiangqing',question_id=ques_id))
{% extends 'base.html' %}
{% block title %}问答详情{% endblock %}
{% block main %}
<div class="page-header">
<h3>{{ ques.title }}<br><small>{{ ques.author.username }} <span class="badge">{{ ques.creat_time }}</span> </small></h3>
</div>
<p class="lead">{{ ques.detail }}</p>
<hr>
<form action="{{ url_for('comment') }}" method="post" style="..."...></form>
<div class="form-group">
<textarea name ="new_comment" class="form-control" rows="3"id="new-comment" placeholder="write your comment"></textarea>
</div>
<botton type="submit" class="btn btn-default">发送</botton>
<h4>评论:({{ ques.comments|length }}</h4>
<ul class="list-group" style=""></ul>
{% endblock %}
{% extends 'detail.html' %}
{% block title %}首页{% endblock %}
{% block main %}
<img sr="{{ url_for('staic',filename='images/qalogo.png') }}" alt="qa">
<ul class="list-group" style="....">
{% for foo in question %}
<li class="list-group-items">
<span class="glyphicon glyphicon-leaf" aria-hidden="="true></span>
<a href="{{ url_for('detail',question_id =foo.id) }}">{{ foo.title }}</a>
<p style="">{{ foo.detail }}</p>
<span class="glyphicon glyphicon-user" aria-hidden="true"></span>
<a href="{{ url_for('usercenter',user_id=foo.author_id) }}">{{ foo.author.username }}评论:({{ foo.comments|length }})</a>
<span class="badge">{{ foo.creat_time }}</span>
</li>
{% endfor %}
</ul>
{% endblock %}

浙公网安备 33010602011771号