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

本文介绍如何在Flask应用中定义带有参数的路由及视图函数,并展示了如何通过ORM方式从数据库查询指定ID的问题详情,同时给出了前端页面展示的具体实现。

主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 = Ques.query.filter(Ques.id==question_id).first()
    return  render_template('detail.html',ques=quest)

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

 <a href="{{ url_for('detail',question_id = foo.id) }}"><h4
                                    class="list-group-item-heading">{{ foo.title }}</h4></a>
<div class="container">
        <div class="row clearfix">
            <div class="col-md-3 column">
            </div>
            <div class="col-md-6 column">
                <div class="row clearfix">
                    <div class="col-md-12 column">
                        <h3>
                            {{ ques.title }}
                        </h3> <span class="label label-default">{{ ques.author.username }}</span> <span
                            class="label label-default">{{ ques.create_time }}</span>
                    </div>
                </div>
                <div class="row clearfix">
                    <div class="col-md-12 column">
                        <p>
                            {{ ques.detail }}
                        </p>
                    </div>
                </div>
                <div class="row clearfix">
                    <div class="col-md-12 column">
                        <textarea id="comment" name="comment" rows="5" cols="83" placeholder="请输入评论"></textarea>
                    </div>
                    <br /><br /><br /><br />
                    <button type="button" class="btn btn-default btn-block">发送</button>
                </div>
                <div class="row clearfix">

                </div>
            </div>
            <div class="col-md-3 column">
            </div>
        </div>
    </div>
    1. 建立评论的对象关系映射:

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

      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('Ques',backref = db.backref('comments'))
          author = db.relationship('User',backref = db.backref('comments'))

       

 

转载于:https://www.cnblogs.com/951111ldj/p/7990110.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值