python – 在启动app之前处理一些文件并对每个更改做出反应

前端之家收集整理的这篇文章主要介绍了python – 在启动app之前处理一些文件并对每个更改做出反应前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含一些数据的文件 – data.txt(存在于正确的本地化中).我希望 django应用程序在启动应用程序之前处理此文件并对每个更改做出反应(不重新启动).最好的方法是什么?

解决方法

对于启动,您可以编写在init中执行所需操作的中间件,然后从init中提升django.core.exceptions.MiddlewareNotUsed,因此django不会将其用于任何请求处理. docs

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

猜你在找的Python相关文章