添加不需要数据库连接的Django端点

时间:2019-10-24 12:03:55

标签: python django

我有一个典型的Django项目,它使用PostgreSQL作为数据库后端。我需要设置一个特定的端点(/status/),即使该端点与数据库的连接丢失也可以使用。实际的代码非常简单(无需接触数据库即可直接返回响应),但是当数据库关闭时,调用此端点时我仍然得到OperationalError。这是因为我使用了一些中间件来尝试联系数据库,例如会话中间件和身份验证中间件。有什么方法可以实现这样的/status/端点?从理论上讲,我可以将其作为中间件实现,然后放在其他任何中间件之前,但这似乎是一种hack。

1 个答案:

答案 0 :(得分:0)

据我所知

如果某些中间件需要数据库并且您启用了它们,则它们将用于每个请求。

我没有阅读有关根据请求的URL有条件地执行中间件的方法。

据我所知,普通的djangoview将无法处理这种状态页面。

我能想象到的唯一解决方案是您提出的实施中间件的建议,首先处理该中间件,将所有其他中间件都进行捷径并返回结果。