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

    1. 主PY文件写视图函数,带id参数。 
      @app.route('/detail/<question_id>')
      def detail(question_id):
          quest = 
          return render_template('detail.html', ques = quest) 
    2. @app.route('/detail/<question_id>')
      def detail(question_id):
          quest =Question.query.filter(Question.id==question_id).first()
         
          return render_template('detail.html') 

      2.首页标题的标签做带参数的链接。
            {{ url_for('detail',question_id = foo.id) }}

    3. index.  
      
       {% for foo in questions %}
      
                  <li class="list-group-item" style="width: 600px">
                      <a class="wrap-img" href="#" target="_blank">
                          <img src="{{ foo.author.image }}" width="35px">
                      </a>
                      <span class="glyphicon glyphicon-left" aria-hidden="true"></span>
                      <a href="#" target="_blank">{{ foo.author.username }}</a>
                      <br>
                      <a href="{{ url_for('detail',question_id=foo.id) }}">{{ foo.title }}</a>
      
                      <br>
                      <span class="badge">发布时间:{{ foo.creat_time }}</span>
                      <p style="">{{ foo.detail }}
                      </p>
      
                  </li>
              {% endfor %}

       

    4. 在详情页将数据的显示在恰当的位置。 
      {{ ques.title}}
      {{ ques.id  }}{{  ques.creat_time }}
      {{ ques.author.username }} 
      {{ ques.detail }}
    5. {% extends 'base.html' %}
      {%  block title %}问答详情{% endblock %}
      
      {% block main %}
      <div class="list-group ">
      <div class="page-headr">

      <h3>{{ ques.title }}<br>
      <small>{{ ques.author.username }}<span class="badge">{{ ques.creat_time }}</span></small>
      </h3>
      <hr>
      <p>detail:{{ ques.detail }}</p>
      <hr>

      <form action="{{ url_for('comment') }}"method="post"style="">
      <div class="form-group">
      <input type="text" value="{{ ques.id }}" name="question_id" hidden>
      <input type="text" value="{{ user.id }}" name="author_id" hidden>
      <textarea name="detail" class="form-control" row="3" id="new-comment" placeholder="write your comment"></textarea>
      </div>
      </form>评论:<h4>({{ ques.comment|length }}</h4>



      <button type="submit" class="btn btn-default" style="width:85px "> 发送
      </button>
      </div>
      <ul class="list-group" style="margin: 10px;list-style: none"></ul>
      {% for foo in ques.comments %}
      <li class="list-group">
      <span class="glyphicon glyphicon-heart-empty"aria-hidden="true"></span>
      <a href="#">{{ foo.author.username }}</a>
      <span class="badge">{{ foo.creat_time }}</span>
      <p style="width:60px">{{ foo.detail }}</p>
      </li>
      </div>
      </div>
       {% endblock %}

       

    6. 建立评论的对象关系映射:

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

    7. py
      
      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'))

       

    8.  尝试实现发布评论。

posted on 2017-12-07 12:27  lishanting  阅读(126)  评论(0)    收藏  举报