- 主PY文件写视图函数,带id参数。
@app.route('/detail/<question_id>') def detail(question_id): quest = return render_template('detail.html', ques = quest)
- 首页标题的标签做带参数的链接。 {{ url_for('detail',question_id = foo.id) }}
- 在详情页将数据的显示在恰当的位置。
{{ ques.title}} {{ ques.id }}{{ ques.creat_time }}
{{ ques.author.username }} {{ ques.detail }}
-
建立评论的对象关系映射:
class Comment(db.Model): __tablename__='comment'
-
尝试实现发布评论。
@app.route('/detail/<question_id>') @loginfirst def detail(question_id): quest=Question.query.filter(Question.id==question_id).first() context={ 'comments':Comment.query.order_by('-creat_time').all() } return render_template('detail.html',**context,ques=quest)
{% block main%} <ul class="list-group" style=""> <!--<p>{{user}} quest</p>--> {% for foo in question %} <li class="list-group-item"> <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> <p style="color:black">内容</p> </li> {% endfor %} </ul> {% endblock %}