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

本文介绍了一个使用Flask框架实现的简单应用案例,包括如何通过路由处理函数获取并展示具体问题的详细信息,以及如何设置评论的功能,涉及到ORM的定义及基本的HTML模板使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主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)

  

首页标题的标签做带参数的链接。

<a href="{{ url_for('detail',question_id = foo.id) }}">{{ foo.title }}</a>

  

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

{% for foo in questions %}
            <li class="list-group-item">
                <span class="glyphicon glyphicon-leaf" aria-hidden="true"></span>
                <a href="{{ url_for('detail',question_id = foo.id) }}">{{ foo.title }}</a>
                <p style="">{{ foo.detail }}</p>
                <span class="glyphicon glyphicon-user" aria-hidden="true"></span>
                <a href="">{{ foo.author.username }}</a>
                <span class="badge">{{ foo.creat_time }}</span>

            </li>
        {% endfor %}

  

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

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

  

 尝试实现发布评论。

转载于:https://www.cnblogs.com/Sun584125503/p/7985416.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值