首页列表显示全部问答:
将数据库查询结果传递到前端页面 Question.query.all()
前端页面循环显示整个列表。
问答排序
@app.route('/admin')
def admin():
context = {
'questions': Question.query.order_by('-creat_time').all()
# 'user':'mis111',
# 'title':'gyugu',
# 'title':'gyugu',
# 'creat_time':'2017-12.01',
# 'detail':'bjgj'
}
return render_template('admin.html',**context)
{% block body %} <p>{{ user }}context</p> <div class="col-md-4 column"> <ul> {% for foo in questions %} <li> <a href="#">{{ foo.author.username }}</a><br> <a href="#">{{ foo.title }}</a><br> <span>{{ foo.creat_time }}</span> <p>{{ foo.detail }}</p> </li> {% endfor %} </ul> </div> {% endblock %}
完成问答详情页布局:
包含问答的全部信息
评论区
以往评论列表显示区。
{% block body %} <h1>提问详情</h1> <div class="container"> <div class="row clearfix"> <div class="col-md-12 column"> <h3 class="text-center"> title </h3> <p class="text-center"> detail </p> <form role="form"> <div class="form-group"> <label for="exampleInputEmail1">Write down your answer~~</label><input type="email" class="form-control" id="exampleInputEmail1" /> </div> <button type="submit" class="btn btn-default">Submit</button> </form> </div> </div> </div> {% endblock %}
在首页点击问答标题,链接到相应详情页。
@app.route('/detail/<question_id>') def detail(question_id): quest = Question.query.filter(Question.id == question_id).first() return render_template('detail.html',quest = quest)