我正在做一个项目,我们使用功能切换来隐藏功能,直到它们准备好发布。
我们遵循的模式是,如果功能切换关闭,则根本不路由某些端点。即在 中,如果切换打开urls.py
,我们仅在中包含 URL 。urlconf
但这意味着功能切换只有在服务器重新启动时才会生效。我们希望能够在正在运行的服务器上动态打开和关闭功能切换。似乎urlconf
仅在启动时解析,因此如果不重新启动,则不会反映对它的更改。
我已经尝试制作一个中间件来根据功能切换的值阻止某些 URL,它可以工作但不能很好地与Swagger
文档一起使用,我也想反映功能切换的状态。
总的来说,感觉就像我在与系统作斗争,这通常表明我没有从正确的角度接近它。
那么,人们如何建议我在 Django 中实现行为的动态功能切换?
编辑:我的意思是说我看过一些帖子,比如这个:Django dynamic urlpatterns但实际上并没有任何解决方案。
一些更老的帖子谈到urlconf
通过重新加载模块来强制刷新,我已经尝试过了,但是虽然我可以看到代码再次执行,但它似乎不会影响 URL。就好像它们正在被缓存,但我找不到任何清除缓存的方法(我在该主题上找到的所有帖子都已过时)