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

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.首页标题的标签做带参数的链接。

      {{ url_for('detail',question_id = foo.id) }}

 <li class="list-group-item"style="background-color:lightblue;height:190px;width:400px;">
            <span class="glyphicon glyphicon-leaf" aria-hidden="true"></span>
            <a href="{{ url_for('detail' ,question_id=foo.id)}}">id:{{ foo.author.username }}</a>
            <br>
            <a href="http://www.jianshu.com/">标题:{{ foo.title }}</a>
            <br>
            <p style="color:black">详情:{{ foo.detail }}</p>
            <br>
          <span class="badge"style="margin-left: 50%">{{ foo.creat_time }}</span>
        </li>

 

3.在详情页将数据的显示在恰当的位置。 

{{ ques.title}}
{{ ques.id  }}{{  ques.creat_time }}
{{ ques.author.username }} 
{{ ques.detail }}

 

{% extends 'base2.html' %}
{% block title %}问答详情{% endblock %}
{% block main %}

        <div class="page-header">
            <h3 style="font-family:宋体;text-align: left;font-size: 40px">详情页</h3>
    <h4>{{ ques.title }}<br><small>{{ ques.author.username }}<span class="badge">{{ ques.creat_time }}</span></small></h4>
             </div>

    <p class="lead">{{ ques.detail }}</p>
    <hr>
    <form action="{{ url_for('question') }}" method="post">
    <div><textarea class="form-control" id="new_comment" rows="6" placeholder="write your comment"style="height:200px;width:800px" ></textarea><br></div>
    <button type="submit" class="fabu"style="width:100px">发布</button>
    </form>
    <ul class="list-group" style="margin: 10px"></ul>

{% endblock %}

 

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

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

5.尝试实现发布评论。

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'))
    detail = db.Column(db.Text, nullable=False)
    create_time = db.Column(db.DateTime, default=datetime.now)
    question = db.relationship('Question', backref=db.backref('comments',order_by=create_time.desc))
    author = db.relationship('User', backref=db.backref('comments'))

 

posted @ 2017-12-07 17:42  103许雅婷  阅读(178)  评论(0编辑  收藏  举报