From 59810b588d280aaed549a0a127b722bb02586d20 Mon Sep 17 00:00:00 2001 From: zxc <3425933825@qq.com> Date: Wed, 22 Oct 2025 14:53:56 +0800 Subject: [PATCH] Update plugin.py --- .../plugins/view_count/plugin.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/DjangoBlog-master/plugins/view_count/plugin.py b/src/DjangoBlog-master/plugins/view_count/plugin.py index 15e9d94..be19cb5 100644 --- a/src/DjangoBlog-master/plugins/view_count/plugin.py +++ b/src/DjangoBlog-master/plugins/view_count/plugin.py @@ -1,18 +1,25 @@ -from djangoblog.plugin_manage.base_plugin import BasePlugin + from djangoblog.plugin_manage.base_plugin import BasePlugin from djangoblog.plugin_manage import hooks class ViewCountPlugin(BasePlugin): - PLUGIN_NAME = '文章浏览次数统计' - PLUGIN_DESCRIPTION = '统计文章的浏览次数' - PLUGIN_VERSION = '0.1.0' - PLUGIN_AUTHOR = 'liangliangyy' + # 插件元信息定义 + PLUGIN_NAME = '文章浏览次数统计' # 插件名称,用于管理界面展示 + PLUGIN_DESCRIPTION = '统计文章的浏览次数' # 插件功能描述 + PLUGIN_VERSION = '0.1.0' # 插件版本号 + PLUGIN_AUTHOR = 'liangliangyy' # 插件作者 + # 注册钩子:将统计逻辑绑定到文章内容获取后的钩子 def register_hooks(self): + # 当系统触发'after_article_body_get'钩子(文章内容加载完成后)时,执行record_view方法 hooks.register('after_article_body_get', self.record_view) + # 核心功能:记录文章浏览次数 def record_view(self, article, *args, **kwargs): + # 调用文章对象的viewed()方法,实现浏览次数+1的逻辑 + # 注:viewed()方法需在Article模型中预先定义(通常包含计数器自增和保存操作) article.viewed() -plugin = ViewCountPlugin() \ No newline at end of file +# 实例化插件:自动触发钩子注册,使插件生效 +plugin = ViewCountPlugin() \ No newline at end of file