• 完成评论功能


      1. 定义评论的视图函数
        @app.route('/comment/',methods=['POST'])
        def comment():
        读取前端页面数据,保存到数据库中
      2. 用<input type="hidden" 方法获取前端的"question_id" 
      3. 显示评论次数
      4. 要求评论前登录
      5. 尝试实现详情页面下的评论列表显示
    @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 %}

     

  • 相关阅读:
    MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作
    vim使用技巧大全
    virtualbox下centos虚拟机安装增强工具教程和常见错误解决
    python初始化list列表(1维、2维)
    Python中列表(list)、字典(dict)排序的程序
    字符画
    php 过滤器filter_var验证邮箱/url/ip等
    Python3 MySQL 数据库连接
    PHP socket 服务器框架集
    python3 获取int最大值
  • 原文地址:https://www.cnblogs.com/123hyf/p/8004625.html
Copyright © 2020-2023  润新知