完成评论功能

Posted Jay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了完成评论功能相关的知识,希望对你有一定的参考价值。

  1. 定义评论的视图函数
    @app.route(‘/comment/‘,methods=[‘POST‘])
    def comment():
    读取前端页面数据,保存到数据库中
    @app.route(/comment/,methods=[POST])
    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(detail))
  2. 用<input type="hidden" 方法获取前端的"question_id" 
    <input type="hidden"  name="question_id" value="{{ques.id}}" />
  3. 显示评论次数
    <h4>评论:({{ ques.comments|length }}) </h4>
  4. 要求评论前登录
    @app.route(/comment/,methods=[POST])
    @loginFrist
    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(detail,question_id=ques_id))
  5. 尝试实现详情页面下的评论列表显示
    <ul class="list-unstyled">
                    {% for foo in comments %}
                        <li class="list-group-item">
                            <a>{{ foo.author.username }}</a>
                            <span class="badge pull-right">{{ foo.creat_time }}</span>
                            <p>{{ foo.detail }}</p>
                            <br>
                        </li>
                    {% endfor %}
                </ul>

     

以上是关于完成评论功能的主要内容,如果未能解决你的问题,请参考以下文章

解决方案电影标题中缺少代码的片段,完成挑战更多[关闭]

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段

完成评论功能

完成评论功能