from django.apps import AppConfig class DjangoblogAppConfig(AppConfig): """ Django 应用配置类,用于定义 'djangoblog' 应用的配置信息。 这个类继承自 Django 的 AppConfig,是应用级别的配置中心, 在 Django 启动时被加载,用于指定应用的行为和初始化逻辑。 """ # 设置此应用中所有模型默认使用的主键字段类型。 # 使用 BigAutoField 表示默认主键为 64 位整数(支持更大范围的 ID), # 可避免在数据量大时出现整数溢出问题。 default_auto_field = 'django.db.models.BigAutoField' # 指定该应用的完整 Python 导入路径。 # 必须与应用在项目中的实际路径一致,Django 通过此属性识别应用。 name = 'djangoblog' def ready(self): """ 应用准备就绪时调用的方法。 Django 在应用注册系统完全加载后会自动调用此方法,是执行应用级初始化代码的推荐入口点。 常用于: - 启动后台任务(如 Celery) - 注册信号处理器(signal handlers) - 动态加载插件或模块 - 初始化缓存等资源 注意:此方法在整个 Django 启动过程中只会被调用一次。 """ # 调用父类的 ready() 方法,确保父类的初始化逻辑正常执行 super().ready() # 导入插件加载函数并执行插件加载 # 通过在 ready() 中调用 load_plugins(),确保插件系统在 Django 完全启动后才被激活 # 这样可以安全地访问 Django 的 ORM 和其他已注册的组件 from .plugin_manage.loader import load_plugins load_plugins()