Добавьте конечную точку Django, которая не требует подключения к базе данных - PullRequest
3 голосов
/ 24 октября 2019

У меня есть типичный проект Django, который использует PostgreSQL в качестве базы данных. Мне нужно настроить конкретную конечную точку (/status/), которая работает, даже если соединение с базой данных потеряно. Фактический код очень прост (просто возвращает ответ напрямую, не касаясь БД), но когда БД не работает, я все равно получаю OperationalError при вызове этой конечной точки. Это потому, что я использую некоторые промежуточные программы, которые пытаются связаться с базой данных, например, промежуточное программное обеспечение сеанса и промежуточное программное обеспечение аутентификации. Есть ли способ реализовать такую ​​/status/ конечную точку? Теоретически я мог бы реализовать это как часть промежуточного программного обеспечения и поставить его перед любым другим промежуточным программным обеспечением, но это выглядит как взлом.

1 Ответ

0 голосов
/ 24 октября 2019

Насколько мне известно, нет.

Если для некоторых промежуточных программ требуется база данных, и вы их включили, они будут использоваться для каждого запроса.

Я не читал о способе условного выполненияпромежуточное ПО в зависимости от URL запроса.

Так что, насколько мне известно, обычный djangoview не сможет обработать такую ​​страницу статуса.

Единственное решение, которое я могу себе представить, это ваше предложениереализовать промежуточное программное обеспечение, которое обрабатывается первым, ярлыки всех остальных промежуточных программ и возвращает результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...