评论列表显示及排序,个人中心显示
1、显示所有评论
{% for foo in ques.comments %}
{% for foo in comment %} <ul style="padding-left: 0px;margin-bottom: 0px;"> <li style="width: 900px"> <a href="{{ url_for('usercenter',user_id = foo.author.id) }}">{{ foo.author.username }}</a> <span class="badge">评论时间:{{ foo.creat_time }}</span> <p>{{ foo.detail }}</p> </li> </ul> {% endfor %}
2、所有评论排序
uquestion = db.relationship('Question', backref=db.backref('comments', order_by=creat_time.desc))
question = db.relationship('Question',backref = db.backref('comments',order_by=creat_time.desc))
3、显示评论条数
{{ ques.comments|length }}
<h4>评论:({{ quest.comments|length }})</h4>
4、完成个人中心
1.个人中心的页面布局(html文件及相应的样式文件)
2.定义视图函数def usercenter(user_id):
3.向前端页面传递参数
4.页面显示相应数据
发布的全部问答
发布的全部评论
个人信息
<!DOCTYPE html> <html lang="en"> <head> {% extends 'admin.html' %} <meta charset="UTF-8"> <title> {% block title %} 用户中心 {% endblock %} </title> {% block head %} {% endblock %} </head> <body> {% block body %} <div class="container"> <div class="row clearfix"> <div class="col-md-12 column"> <div class="page-header"> <h3>{{ username }}><br> <small>全部问答 <span class="badge"></span></small> </h3> <ul> {% for foo in question %} <li> <a href="#">{{ foo.username }}</a> <span class="badge">{{ foo.creat_time }}</span> <p>{{ foo.detail }}</p> </li> {% endfor %} </ul> </div> </div> </div> <div> <h3>{{ username }}><br> <small>全部评论 <span class="badge"></span></small> </h3> {% for foo in comments %} <ul style="padding-left: 0px;margin-bottom: 0px;"> <li style="width: 800px"> <a href="">{{ foo.author.username }}</a> <span class="badge">{{ foo.creat_time }}</span> <p>{{ foo.detail }}</p> </li> {% endfor %} </ul> </div> <div> <h3>{{ user }}<br> <small>个人信息</small> </h3> <ul style="padding-left: 0px;margin-bottom: 0px;"> <li>用户:</li> <li>编号:</li> <li>昵称:</li> </ul> </div> </div> {% endblock %} </body> </html>
@app.route('/usercenter/<user_id>') @loginFirst def usercenter(user_id): user = User.query.filter(User.id == user_id).first() context = { 'username':user.username, 'question':user.question, 'comments':user.comments } return render_template('usercenter.html',**context)
5、各个页面链接到个人中心
<div class="meta"> <a class="collection-tag" target="_blank" href="/c/1hjajt">{{ biaoqian }}</a> <a href="{{ url_for('usercenter',user_id = foo.author_id) }}">{{ foo.author.username }}评论:({{ foo.comments|length}})</a> </div>