首页 > 解决方案 > Django3 在运行时刷新/重新加载配置设置

问题描述

我正在使用 Django3 应用程序,配置 settings.py 在应用程序启动期间加载。考虑一个应用程序正在生产中运行,如果任何令牌过期以重新生成令牌,则需要在运行时从 settings.py 获取配置。如果令牌已过期,我会遇到异常。仅当令牌过期时,我应该如何在运行时重新加载/刷新配置设置。

标签: python-3.xtokendjango-3.0

解决方案


我实际上认为您在这里尝试解决错误的问题,但让我先解决您的主要问题。

您只需执行以下操作即可从代码中获取 att 设置信息:

from django.conf import settings

然后你可以访问settings.<setting val>- 例如。if settings.DEBUG:在你的代码中。

现在,当您谈论令牌时,我猜您的意思是用户令牌,表示他们有一个有效的会话(“用户”我也指 API 登录),这可能已经超时。

settings.py保存与 Django 会话本身相关的信息 - 即服务器端进程。它不包含有关当前用户的信息,因此我看不出您在任何时候都需要重新加载它。它在 django 进程启动时加载(通过 runserver、gunicorn 或其他方式)。如果您settings.py在 Django 已经启动并运行时发现自己需要重新加载,那么您几乎可以肯定在设置中有一些应该在其他地方处理的东西。


推荐阅读