从首页问答标题到问答详情页
- 主PY文件写视图函数,带id参数。
@app.route('/detail/<question_id>')
def detail(question_id):
quest =
return render_template('detail.html', ques = quest)@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)
- 首页标题的标签做带参数的链接。
{{ url_for('detail',question_id = foo.id) }}
<body id="myBody"> {% for foo in question %} <div id="list-container"> <ul class="note"> <li> <div class="content"> <div class="author"> <a class="nickname" target="_blank" href="{{ url_for("detail",question_id=foo.id) }}">{{ foo.author.username }}</a> <span class="time">{{ foo.create_time }}</span> </div> </div> <a class="title" target="_blank" href="{{ url_for("detail",question_id=foo.id) }}">标题:{{ foo.title }}</a> <p class="abstract">详情:{{ foo.detail }}</p> </li> </ul> </div> {% endfor %}
- 在详情页将数据的显示在恰当的位置。
{{ ques.title}}
{{ ques.id }}{{ ques.creat_time }}{{ ques.author.username }}
{{ ques.detail }} -
<body bgcolor="#696969"> <div class=""> <small>{{ ques.author.username }}</small><br> <h3>{{ ques.title }}</h3><br> <span class="createtime">{{ ques.create_time }}</span> <p>{{ ques.detail }}</p> <form action="{{ url_for("comment") }}" method="post"> <p class="location">评论</p> <textarea style="width: 400px" id="xiang" rows="10" name="detail1"></textarea><br> <input type="submit" value="发送" style="width:65px;height:25px;font-size:15px"> </form> </div> </body>
- class Comment(db.Model): __tablename__='comment'
class Comment(db.Model): __tablename__ = "comment" id = db.Column(db.Integer, primary_key=True, autoincrement=True) detail = db.Column(db.Text, nullable=False) create_time = db.Column(db.DateTime, default=datetime.now) author_id = db.Column(db.Integer, db.ForeignKey("user.id")) question_id=db.Column(db.Integer,db.ForeignKey("question.id")) author = db.relationship("User", backref=db.backref('comment')) question = db.relationship("Question",backref=db.backref("comment"))
5. 尝试实现发布评论。