要在Flask app中显示喜欢某条帖子的用户列表,可以按照以下步骤进行:
@app.route()
装饰器来定义该端点的URL路径和请求方法。jsonify()
函数来将数据转化为JSON格式。以下是示例代码:
from flask import Flask, jsonify, request
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'your_database_uri'
db = SQLAlchemy(app)
# 定义帖子和用户的喜欢关系表格模型
class Like(db.Model):
id = db.Column(db.Integer, primary_key=True)
post_id = db.Column(db.Integer, db.ForeignKey('post.id'))
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
# 定义帖子模型
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
# 添加其他帖子相关的字段...
# 定义用户模型
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
# 添加其他用户相关的字段...
# 定义API端点
@app.route('/posts/<int:post_id>/likes', methods=['GET'])
def get_liked_users(post_id):
likes = Like.query.filter_by(post_id=post_id).all()
user_ids = [like.user_id for like in likes]
users = User.query.filter(User.id.in_(user_ids)).all()
user_list = []
for user in users:
user_data = {
'id': user.id,
'username': user.username,
# 添加其他用户信息字段...
}
user_list.append(user_data)
return jsonify(user_list)
if __name__ == '__main__':
app.run()
注意:以上代码仅为示例,实际情况中需要根据具体的数据模型和业务逻辑进行适当调整。在代码中需要替换your_database_uri
为实际的数据库连接URI。
领取专属 10元无门槛券
手把手带您无忧上云