完成评论功能(2017.12.8)

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(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))

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

<input name="question_id" type="hidden" value="{{ ques.id }}">

3、显示评论次数

 <h4>comment:({{ ques.comments|length }})</h4>

4、要求评论前登录

@loginFirst

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

detail.html

 <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>
@app.route(‘/xiangqing/<question_id>‘)
def xiangqing(question_id):
    quest = Question.query.filter(Question.id == question_id).first()
    comments = Comment.query.filter(Comment.question_id==question_id).all()
    return render_template(‘xiangqing.html‘, ques=quest,comments=comments)

运行结果:

数据库中:

时间: 2024-07-30 16:36:20

完成评论功能(2017.12.8)的相关文章

实现搜索功能(2017.12.19)

2 修改base.html 中搜索输入框所在的 <form action="{{ url_for('search') }}" method="get"> <input name="q" type="text" placeholder="请输入关键字"> <form action="{{ url_for('search')}}" method="ge

2017.12.19 2周2次课

2017.12.19二周第二次课 2.10 环境变量PATH echo用来输出PATH的值.PATH前面的$是变量的前缀符号 1.你的命令在上述几个目录里面,在输入命令时就不用输入绝对路径,直接使用.因为在输入命令时,系统会在上述的几个目录里去寻找这个命令.当然也可以输入绝对路径 Copy命令[ls]到目录tmp下,并改名[ls2],二者实现的功能一样 直接输入命令[ls2],确不行.因为命令[ls2]不在"/usr/local/sbin:/usr/local/bin:/usr/sbin:/us

2017.12.22 2周5次课

2017.12.22 二周第五次课 2.23/2.24/2.25 find命令 2.26 文件名后缀 2.23/2.24/2.25 find命令 1.学会使用快捷键 1)ctrl+C:结束(终止)当前命令.如果你输人了一大串字符,但不想运行,可以按ctrl+C组合键,此时光标将跳入下一行,而在刚刚的光标处会留下一个^C的标记. 2)Tab:实现自动补全功能.这个键比较重要,使用频率也很高.当你输人命令.文件或目录的前几个字符时,它会自动帮你补全. 3)ctrl+D:退出当前终端.同样,你也可以输

iOS 应用有用户评论功能 因为潜在色情信息被退回解决方案

应用的每一次退回都是一次很好的学习机会 这次是说我的应用没有对色情的内容进行监管或屏蔽的管理机制 这里我主要是 评论页面 违法 如下 以下提供几种解决方案: 1.按照苹果给的建议  我们添加协议进去  和完善一下过滤 审核sex的信息 主要是 在注册界面下方,添加一句话 并做一个选项 默认打对勾,添加超链接:"我同意用户使用协议" 塞进去一个webview 详细条款说明.即可 配合管理员的监管机制.就可以了.参照"麦克app" 的灵感 其他方法如下:(有一定参考价值

博客项目实现文章评论功能(重点是评论回复)

我开发的博客网站的地址:http://118.89.29.170/RiXiang_blog/ 博客项目代码github:https://github.com/SonnAdolf/sonne_blog 有了我的已成型的项目和代码,可以更容易理解这篇文章. 本篇文章记录下自己博客项目评论功能实现的全过程,重点其实是评论回复功能. [一,写评论] 写评论部分我没有使用富文本编辑器,只是单纯地使用了textarea标签,所以后台不需要作html标签的白名单检验(关于防范xss攻击,可以看我之前的一篇文章

博客的评论功能

今天呢,我们一起来新增一个详细页面下的简单评论功能,又是一个简单到我都不好意思说的东东....当然啦,万丈高楼平地起,我们就从简单的开始,以后慢慢添加呗. 还是按照以前的老步骤,models>views>urls>templates. 因为我们要多一个评论功能,所以我们得新建一张用来保存评论数据的表.所已在models添加如下东东: class BlogComment(models.Model):     user_name = models.CharField('评论者名字', max

微信评论功能开启 将成净土还是地狱?

微信自发布以来,就像一个在优越环境中长大的孩童.前期自然是无忧无虑,不过随着时间的推移,需要学习.增添的东西就越来越多.尤其是自5.0版本以来,支付.游戏.表情商店.微商.小视频.生活服务等功能的不断加入,让微信逐渐"丰满"起来.由此,微信从一个轻量级应用开始向"连接一切"的庞然巨物发展. 但不可否认的是,多项功能的添加,带来的不仅仅是有利的一面,弊端也日渐凸显,比如微商的两面性就被用户所熟知.近日,微信正式测试公众号文章的评论功能.这究竟会让微信变成净土,还是地狱

类似微信5.x朋友圈的弹出框评论功能

实现对一个主题评论并显示评论列表,首先想到的是需要使用ListView控件,下面是layout下的xml布局文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent&

微信公众号文章增加评论功能

开通微信认证的公众号可进入微信发布后台,进行评论申请,在微信后台出现评论管理市即可进行评论.默认发布文章是没有评论功能的.另外公众号运营者可以选择精选评论,公众帐号文章只显示被运营者放入精选的评论. 目前公众号的开通评论功能还在内测阶段,只开放给以媒体类型申请的公众号,个人或企业暂时还没有.