从首页问答标题到问答详情页

主PY文件写视图函数,带id参数。 

@app.route('/detail/<question_id>')
def detail(question_id):
    quest = Question.query.filter(Question.id == question_id).first()
    return render_template('detail.html',ques = quest)

  

@app.route('/detail/<question_id>')
def detail(question_id):
    quest = 
    return render_template('detail.html', ques = quest)
  1. 首页标题的标签做带参数的链接。
          {{ url_for('detail',question_id = foo.id) }}
    <a target="_self" href="{{ url_for('detail',question_id=foo.id) }}">{{ foo.title }}</a>
    

      

  2. 在详情页将数据的显示在恰当的位置。 
    {{ ques.title}}
    {{ ques.id  }}{{  ques.creat_time }}
    {{ ques.author.username }} 
    {{ ques.detail }}
  3. 建立评论的对象关系映射:

    class Comment(db.Model):
        __tablename__='comment'

    {% for foo in questions %}
        <ul class="new-list">
        <li>
                <a href="#">{{ foo.author.username }}</a><br>
                <a target="_self" href="{{ url_for('detail',question_id=foo.id) }}">{{ foo.title }}</a>
                <p>
                {{ foo.detail }}
                </p>
            <span class="post_item_foot">
                发布于   {{ foo.create_time }}
            </span>
                 </li>
           </ul>
    

      

  4.  尝试实现发布评论。

    class Comment(db.Model):
        __tablename__ = 'comment'
        id = db.Column(db.Integer, primary_key=True, autoincrement=True)
        author_id = db.Column(db.Integer, db.ForeignKey('user.id'))
        question_id = db.Column(db.Integer, db.ForeignKey('question.id'))
        create_time = db.Column(db.DateTime, default=datetime.now)
        detail = db.Column(db.Text, nullable=False)
        question = db.relationship('Question',backref = db.backref('comments'))
        author = db.relationship('User',backref = db.backref('comments'))
    

      

posted @ 2017-12-05 22:58  042冯耀娴  阅读(126)  评论(0编辑  收藏  举报