zoukankan      html  css  js  c++  java
  • 三十二、完成评论功能

    1.定义评论的视图函数

    @app.route('/comment/',methods=['POST'])
    def comment():
    读取前端页面数据,保存到数据库中

    @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(auth_id=auth_id,qusetion_id=ques_id,detail=comment)
        db.session.add(comm)
        db.session.commit()
        return redirect(url_for("detail"))

    2.用<input type="hidden" 方法获取前端的"question_id" 

    @app.route('/answer/', methods=['GET', 'POST'])
    def answer():
        if request.method == 'POST':
            question_id = request.form.get('question_id')
            author_id = request.form.get('author_id')
            detail = request.form.get('detail')
            comment = Comment(question_id=question_id, author_id=author_id, detail=detail)
            db.session.add(comment)
            db.session.commit()
            return redirect(url_for('detail',question_id=question_id))

    3.显示评论次数

    <h4>评论({{ questions.comments|length }})</h4>

    4.要求评论前登录

    @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(auth_id=auth_id,qusetion_id=ques_id,detail=comment)
        db.session.add(comm)
        db.session.commit()
        return redirect(url_for("detail"))

    5.尝试实现详情页面下的评论列表显示

    <ul class="list-group">
                          {% for each in comments %}
                          <li class="list-group-item" >
                          <a  class="author" href="">{{ each.author.username }}</a>
                          <br>
                              <br>
                              <span >{{ each.create_time }}</span>
                      <p class="abstract">{{ each.detail }}</p>
                          </li>
                          {% endfor %}
                      </ul>
  • 相关阅读:
    python Database Poll for SQL SERVER
    SQLAlchemy表操作和增删改查
    flask动态url规则
    flask配置管理
    一个Flask运行分析
    Function Set in OPEN CASCADE
    Happy New Year 2016
    Apply Newton Method to Find Extrema in OPEN CASCADE
    OPEN CASCADE Multiple Variable Function
    OPEN CASCADE Gauss Least Square
  • 原文地址:https://www.cnblogs.com/Green-/p/8004589.html
Copyright © 2011-2022 走看看