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

    1. 主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)

       

    2. 首页标题的标签做带参数的链接。
       <ul class="list-group" style="...">
             {% for foo in questions %}
                 <li class="list-group-item">
                 <span class="glyphicon glyphicon-leaf" aria-hidden="true"></span>
                 <a href="#">{{ foo.author.username }}</a>
                 <br>
                 <a href="{{ url_for('detail',question_id=foo.id) }}">{{ foo.title }}</a>
                 <span class="badge">{{ foo.creat_time }}</span>
                 <p style="...">{{ foo.detail }}</p>
      
                 </li>
      
             {% endfor %}
         </ul>

       

    3. 在详情页将数据的显示在恰当的位置。
      {% extends '1101.html' %}
      {% block title %}问答详情{% endblock %}
      {% block main %}
          <div class="page-header">
              <h3>{{ques.id}}{{ques.title}}<br>
                  <small>{{ ques.create_time }}{{ ques.author.username}}</small>
              </h3>
          </div>
          <p class="lead">detail{{ ques.detail }}</p>
          <hr>
          <form action="{{ url_for('question') }}" method="post">
          <div class="form-group">
              <textarea name="new_comment" class="form-control" rows="3" id="new_comment" placeholder="write your comment"></textarea>
          </div>
          <button type="submit" class="btn btn-default">发送</button>
          </form>
          <ul class="list-group" style="margin: 10px"></ul>
      
      {% endblock %}

       

    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'))
          creat_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'))

       

    5.  尝试实现发布评论。
posted @ 2017-12-05 12:46  袁颖琳  阅读(105)  评论(0编辑  收藏  举报