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

本文介绍了一个使用Flask框架实现的简单应用案例,包括如何定义视图函数处理带ID参数的请求,展示具体问题的详细信息,并实现了评论功能。文章通过具体的代码示例展示了如何设置路由、渲染模板以及进行数据库操作。
    1. 主PY文件写视图函数,带id参数。 
      @app.route('/detail/<question_id>')
      def detail(question_id):
          quest = 
          return render_template('detail.html', ques = quest) 
    2. 首页标题的标签做带参数的链接。
            {{ url_for('detail',question_id = foo.id) }}

    3. 在详情页将数据的显示在恰当的位置。 
      {{ ques.title}}
      {{ ques.id  }}{{  ques.creat_time }}
      {{ ques.author.username }} 
      {{ ques.detail }}
    4. 建立评论的对象关系映射:

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

    5.  尝试实现发布评论。

      1.
      @app.route('/detail/<question_id>') def detail(question_id): fa = Question.query.filter(Question.id == question_id).first() return render_template('detail.html', fa=fa)
       23.
      <ul class="list-unstyled"> {% for foo in question %} <li class="list-group-item-success"> <a href="#">{{ foo.author.username }}</a> <h4 class="text-center"><a href="{{ url_for('detail',question_id=foo.id) }}">{{ foo.title }}</a> </h4> <span class="badge pull-right">{{ foo.creat_time }}</span> <br> <p>{{ foo.detail }}</p> </li> {% endfor %} </ul>
      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')) detail = db.Column(db.Text, nullable=False) crea_time = db.Column(db.DateTime, default=datetime.now) author = db.relationship('User', backref=db.backref('comment')) question = db.relationship('Question', backref=db.backref('comment'))

       

       

       

转载于:https://www.cnblogs.com/qq724852210/p/8000596.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值