• 完成评论功能


      1. 定义评论的视图函数
        @app.route('/comment/',methods=['POST'])
        def comment():
        读取前端页面数据,保存到数据库中
      2. 用<input type="hidden" 方法获取前端的"question_id" 
      3. 显示评论次数
      4. 要求评论前登录
      5. 尝试实现详情页面下的评论列表显示
        @app.route('/detail/<question_id>')
        def detail(question_id):
            quest= Question.query.filter(Question.id == question_id).first()
            return render_template('detail.html',ques=quest)
        @app.route('/comment/', methods=['POST'])
        def comment():
            comment_detail = 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(detail=comment, author_id=auth_id, question_id=ques_id, )
            db.session.add(comment)
            db.session.commit()
            return redirect(url_for('detail', question_id=ques_id))
        def loginFrist(func):
            @wraps(func)
            def wrapper(*args, **kwargs):
                if session.get('user'):
                    return func(*args, **kwargs)
                else:
                    return redirect(url_for('login'))
            return wrapper
        <div class="essayAera">
            <h3>{{ ques.title }}<br><small>{{ ques.author.username }}<span class="badge">{{ ques.create_time }}</span></small></h3>
        </div>
        <p class="lead">{{ ques.detail }}</p>
        <hr>
        <form action="{{ url_for('comment') }}"method="post">
        <ul class="list-group">
        
                               <div class="form-group">
                               <textarea name="new_comment"class="form-control"style="margin-top:80px " rows="6" cols="50" id="new_comment"placeholder="write down your comment"></textarea>
                                   <input name="question_id"type="hidden"value="{{ ques.id }}"/>
        
                               </div>
                                   <button type="submit" class="btn btn-default">发送</button>
        
        
                               </ul></form>
        
        <h4>评论.({{ ques.comments|length }})</h4>
        
        {% endblock %}
  • 相关阅读:
    矩阵相关计算-基础
    列表-元祖-字典
    Python制作NTF传递函数工况文件和后处理文件
    C++栈和堆的生长方向
    malloc/free与new/delete的区别
    C++中4个类型转换相关的关键字/特点/应用场合
    Python 拾遗
    Python 常用库
    Python 视频转字符动画
    Python 命令行(CLI)基础库
  • 原文地址:https://www.cnblogs.com/hxl316/p/8004381.html
Copyright © 2020-2023  润新知