对于启动,您可以编写在init中执行所需操作的中间件,然后从init中提升django.core.exceptions.MiddlewareNotUsed,因此django不会将其用于任何请求处理.
docs
中间件init将在启动时调用,而不是在第一次请求时调用.
至于对文件更改的反应,您可以使用https://github.com/gorakhargosh/watchdog(可以找到使用示例here).因此,您也可以在中间件中的某个位置启动它,或者如果它只有db更新,您可以创建一个单独的脚本(或django管理命令),它将通过管理程序或类似的东西运行,并将监视此文件并更新数据库.