Flask实现的功能:
- user模型的更新(添加收藏功能)
- posts蓝图的建立
- 相关模板的更新
- 添加分页功能
目录结构:

模型user.py更新收藏功能
user.py:
# 添加收藏功能
favorites = db.relationship('Posts', secondary='collections', backref=db.backref('users', lazy='dynamic'), lazy='dynamic')
# 添加收藏
def add_favorite(self, pid):
p = Posts.query.get(pid)
self.favorites.append(p)
# 取消收藏
def del_favorite(self, pid):
p = Posts.query.get(pid)
self.favorites.remove(p)
# 判断是否已经收藏
def is_favorite(self, pid):
# 获取所有收藏的博客
favorites = self.favorites.all()
posts = list(filter(lambda p: p.id == pid, favorites))
if len(posts) > 0:
return True
return False
添加相应的posts蓝本:
views中posts.py
from flask import Blueprint, jsonify
from flask_login import current_user
posts = Blueprint('posts', __name__)
@posts.route('/collect/<int:pid>')
def collect(pid):
# 判断是否收藏
if current_user.is_favorite(pid):
# 取消收藏
current_user.del_favorite(pid)
else:
# 添加收藏
current_user.add_favorite(pid)
# 将字典转为JSON字符串
return jsonify({
'result': 'ok'})
在__init__.py添加posts蓝本:
from .main import main
from .user import user

本文介绍了如何利用Flask框架为web应用添加收藏功能和分页功能。首先,更新了user模型以实现收藏功能,接着创建posts蓝图并更新相关模板。然后,详细阐述了分页功能的实现,包括在main.py中更新视图函数和添加模板macro.html来生成分页链接。
最低0.47元/天 解锁文章
4715





